我是新的编码,我想问是否有人可以帮助我,我开始了一个项目,想要节省我的钱,我有更多的场景之间,这是一个2D项目。
我有这样的东西:
public class Click : MonoBehaviour
{
public UnityEngine.UI.Text cp;
public UnityEngine.UI.Text goldDisplay;
public float gold = 0.00f;
public int goldperclick = 1;
void Update()
{
goldDisplay.text = " Fruits: " + gold;
cp.text = " CP: " + goldperclick;
}
public void Clicked()
{
gold += goldperclick;
}
}
当我现在切换到另一个场景,回到那个场景时,所有的钱都丢了,我想知道是否有人能告诉我如何解决这个问题。
谢谢。
你可以像这里描述的那样简单地调用GameObject的DontDestroyOnLoad()
方法。为了避免多次实例化,请注意在哪个场景中对游戏对象进行初始实例化。
这是教你如何编写游戏管理器的标准教程:
https://unity3d.com/learn/tutorials/projects/2d-roguelike-tutorial/writing-game-manager尝试单模式:
阅读:https://msdn.microsoft.com/en-us/library/ff650316.aspx
的例子:
using System;
public class Singleton
{
private static Singleton instance;
private Singleton() {}
public static Singleton Instance
{
get
{
if (instance == null)
{
instance = new Singleton();
}
return instance;
}
}
private int money; //Saved data
public int Money //Access to field
{
get { return money; }
set { money = value; }
}
}