在哪里保存不与任何特定GameObject绑定的场景中的变量?

时间:2014-12-05 15:02:25

标签: unity3d

我需要跟踪与当前场景相关的一些值,例如:播放时间(时间),最后一次移动(时间)。然而,它们不是我需要显示用户的值,也不是特别与任何游戏对象有关,因此我不确定将它们保存在哪里。

我需要它们在场景中持久存在,并且所有GameObjects都可以访问。

我在哪里保存?

2 个答案:

答案 0 :(得分:2)

有更好的方法。

public static class Container
{
    private static int variable;
}

使用您需要的信息保留静态类。


您还可以使用Singleton

public class Container
{
    private static Container instance;
    private int sampleVariable;

    private Container() {}

    public static Container getInstance()
    {
        if(instance == null)
           instance = new Container();

        return instance;
    }
}

答案 1 :(得分:0)

您可以做的一件事是将空游戏对象指定为您正在描述的脚本的中心。在我的所有Unity项目中,我都有一个名为 ScriptHub 的空游戏对象,我在其上附加了与任何特定游戏对象无关的所有脚本。在这里,您可以跟踪任意数量的值,这些值都可以由场景中的其他脚本访问。