我有 2 个场景,希望将信息从一个场景传递到另一个场景。我在第一个场景中在一个空游戏对象上创建了一个脚本常量,它保留了我希望为下一个场景保存的数据。
这里是:
public class Constants : MonoBehaviour {
public string scratchImageFront;
public string scratchImageBack;
void setScratchFront(string _scratchFront)
{
scratchImageFront = _scratchFront;
}
void setScratchBack(string _scratchBack)
{
scratchImageBack = _scratchBack;
}
}
在进入下一个场景之前,我呼吁不要破坏常量脚本:
GameObject constants = GameObject.Find("Constants");
Constants script;
script = constants.transform.GetComponentInChildren<Constants>();
DontDestroyOnLoad(constants);
Application.LoadLevel("scratch");
然后我在第二个场景中收集数据,一切都很好。在我完成第二个场景之后,我回到我的第一个场景
Application.LoadLevel("start");
并重做与我第一次相同的步骤,常量脚本不保留传递给它的新字符串,它保留旧字符串。为什么?
我需要在我的第二个场景中销毁常量脚本,以便一切正常,但我不想要这个。我究竟做错了什么?