|
Hello is there are way to save instantiated GameObject in Runtime>>>> Like saveing int,float and string >>>>>>> thx >>>
(comments are locked)
|
|
You can use the PlayerPrefs to save an object's position and rotation in a string, and when the level is reloaded, re-instantiate or move the object to the saved position/rotation. This is somewhat tricky to be done because you must decode the string into the original values.
var s = transform.position.ToString()+transform.rotation.ToString();
PlayerPrefs.SetString("Weapon2", s);
This saves a string like this: "(123, 2, 209)(0.5, 0.3, 0.3, -0.7)", associated to the key "Weapon2".
var sWpn2 = PlayerPrefs.GetString("Weapon2","notfound");
if (sWpn2 != "notfound"){ // if Weapon2 key found...
var delims: char[] = "(),".ToCharArray(); // define delimiters
// split the values in an array
var values: String[] = sWpn2.Split(delims);
var pos: Vector3;
var rot: Quaternion;
pos.x = float.Parse(values[1]);
pos.y = float.Parse(values[2]);
pos.z = float.Parse(values[3]);
rot.x = float.Parse(values[5]);
rot.y = float.Parse(values[6]);
rot.z = float.Parse(values[7]);
rot.w = float.Parse(values[8]);
// create the weapon using this position/rotation...
Instantiate(wpnPrefab, pos, rot);
// or move the existing weapon there:
weapon.transform.position = pos;
weapon.transform.rotation = rot;
}
Super thx >>>>>>>> Smart tricks .....
Jan 02 '12 at 07:17 AM
firasdeep
sorry i now this is old question, but i want to ask something, how about if i have many instantiated gameobject that i want to save, can this way work? if yes so i must use many variable to save the pos right? or i'm wrong? hope you want to help me. thanks :D
Jan 10 at 10:19 AM
quantum_rez
(comments are locked)
|
|
Really without manually saving the data (to file - as any properties will be reset/initialized) you can't. What are you trying to do? Can you set the GameObject up with 'ExecuteInEditMode' without playing? ok .. is there any smart tricks to do that >>> what i mean if there FPS game and i buy weapon and i go to play and i drop the weapon if i save the game i back to the weapon position and it destroyed...how i can save the weapon position and rotation ans the weapon is instantiated.... is there way using xml
Dec 31 '11 at 01:46 AM
firasdeep
So basically you're talking about saving the state of the game. There are tricks to do this using player prefs (I.e. save limited game data to a string and write to player prefs) Though this method is tricky there are a lot of discussions regarding this here already. http://answers.unity3d.com/search.html?redirect=search%2Fsearch&q=Save+game+playerprefs http://unifycommunity.com/wiki/index.php?title=Save_and_Load_from_XML
Dec 31 '11 at 01:54 AM
Rod Green
(comments are locked)
|
|
If you mean saving for the next scene you could use http://unity3d.com/support/documentation/ScriptReference/Object.DontDestroyOnLoad.html thx >>> >>>
Dec 31 '11 at 01:46 AM
firasdeep
(comments are locked)
|
