首页 文章

Unity从菜单中选择bool值并加载到google纸板场景中

提问于
浏览
0

我希望用户能够在主菜单中选择是否要在启用VR立体声的情况下启动游戏,或者如果他们想要以单声道加载它 . 现在,GvrViewer脚本在GUI中有一个布尔选中标记,用于启用/禁用VR,因此我试图让用户从主菜单中实际控制该布尔值 .

我不确定我是否在正确的道路上,但我在主菜单上有两个按钮,表示“输入VR”和“输入单声道” . 理想情况下,单击“在VR中输入”会触发一个设置布尔值的函数,并使用触发VR模式的布尔值加载新场景 . 但是,我无法弄清楚如何将存储的布尔值传递到新场景中,并让它覆盖已经存储在GUI检查器中的设置 . 我试过从菜单脚本中“找到”游戏对象的 Value ,但我似乎没有任何成功 .

// buttons on main menu

public void LoadMono(int level) {
    MonoOrStereo.VRModeEnabled = false;
    Application.LoadLevel (level);
}

public void LoadStereo() {
    MonoOrStereo.VRModeEnabled = true;
    Application.LoadLevel (level);
}



// boolean provided by GvrViewer script for GUI inspector settings

bool VRModeEnabled {
    get {
      return vrModeEnabled;
    }
    set {
            if (value != vrModeEnabled && device != null) {
                device.SetVRModeEnabled(value);
      }
            vrModeEnabled = value;
    }
  }
  [SerializeField]
  public bool vrModeEnabled = false;

1 回答

  • 1

    正确的方法是让游戏管理器对象在游戏中持久存在并控制设置类对象 .

    如果您仍需要在检查器中看到公共布尔值,请使用以下方法:

    SettingsObject = GameObject.FindGameObjectsWithTag("Settings");
    SceneManager = SettingsObject.GetComponent<SomeSceneManagerClass>();
    Scenemanager.vrModeEnabled = true;
    

    很难确切地知道需要做什么,因为我需要查看项目的结构,哪些类正在管理您的项目以及它们在Inspector中的组成方式

    (请注意,上面的代码只是表明了方法,可能无法按照您的意愿运行 . 为了在您的情况下有用,我需要上面提到的数据)

相关问题