从不同的场景访问相同的布尔值

时间:2014-12-08 13:22:39

标签: unity3d

我的团结项目从3个场景构建,它可以从任何场景开始。 每个场景都有一个GameObject,其中包含一个名为isFirstSceneLoaded的脚本作为脚本调用它所要做的就是检查该场景是否是第一个从游戏中加载的场景。所以我想说我有一个bool调用isFirstScene并将其初始设置为no,但是当脚本第一个Start()被调用时,我将其设置为true。 所以现在当我切换场景时,这个bool将等于true。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

你可以用两种方式做到这一点 1)在其中包含bool的空对象放置脚本,并且不要在加载时销毁它。 2)您可以使用类IsSceneLoaded创建脚本,从单声道行为中删除继承并创建静态函数(不要忘记删除更新和启动函数)

 public static bool GetBool() {// declare static bool in the class let's say its name 
DidLoad return DidLoad; }

//如果你想要一个函数来设置它

public static void SetBool(bool newval)     {DidLoad =的newval;     }

如果你不想添加游戏对象,只要使用第二个:P

答案 1 :(得分:1)

制作静态课程

public static class FirstSceneLoaded
{
    private static bool isFirstScene = false;

    public static void setBool(String sceneName)
    {
        if(sceneName == "first")
          isFirstScene = true;
    }
}

由于该类是静态的,因此只有一个实例,它将在整个游戏执行过程中存在。

像这样称呼

 void Start()
 {
     FirstSceneLoaded.setBool(Application.loadedLevelName);
 }