【发布时间】:2018-02-25 06:54:12
【问题描述】:
我正在尝试使用 Unity 为 Android 构建游戏,就像 Minecraft 一样。我怎样才能保存我的进度?
我正在尝试这段代码,但如果我走在正确的轨道上,我仍然一无所知。
public class SavePref : MonoBehaviour {
GameObject[] objects;
float x;
float y;
float z;
// Use this for initialization
void Start () {
objects = GameObject.FindGameObjectsWithTag("ObjectSnap");
}
// Update is called once per frame
void Update () {
}
public void Load()
{
foreach (GameObject obj in objects)
{
obj.name = PlayerPrefs.GetString("Ojects");
x = PlayerPrefs.GetFloat("X");
y = PlayerPrefs.GetFloat("Y");
z = PlayerPrefs.GetFloat("Z");
}
}
public void Save()
{
objects = GameObject.FindObjectsOfType(typeof(GameObject)) as GameObject[];
Debug.Log(objects.Length);
foreach (GameObject obj in objects)
{
PlayerPrefs.SetString("Objects", obj.name);
Debug.Log(obj.name);
x = obj.transform.position.x;
PlayerPrefs.SetFloat("X", x);
y = obj.transform.position.y;
PlayerPrefs.SetFloat("Y", y);
z = obj.transform.position.z;
PlayerPrefs.SetFloat("Z", z);
Debug.Log(obj.transform.position.x);
Debug.Log(obj.transform.position.y);
Debug.Log(obj.transform.position.z);
}
}
}
【问题讨论】:
-
将 x,y,z 放入类或结构中,然后序列化并保存。示例见this 帖子
-
哪个x、y、z? x,y,z 在 Save();?
-
你想保存每个立方体的位置,对吧?使用类或结构来保存立方体的 x、y、z,然后创建该对象的数组/列表,序列化并保存它。您还可以将对象名称添加到该类/结构中
标签: c# android unity3d unity5 state-saving