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

本文关键字:google 加载 菜单 选择 bool Unity | 更新日期: 2023-09-27 18:05:31

我希望用户能够在主菜单中选择是否启用VR立体声或是否想以单声道加载游戏。现在GvrViewer脚本在GUI中有一个布尔复选标记来启用/禁用VR,所以我试图让用户从主菜单中基本上控制布尔值。

我不确定我是否在正确的道路上,但我在主菜单上有2个按钮,说"进入VR"answers"进入单声道"。理想情况下,点击"进入VR"会触发一个设置布尔值的功能,并使用触发VR模式的布尔值加载新场景。然而,我不知道如何将存储的布尔值传递到新场景中,并让它覆盖已经从GUI检查器中存储的设置。我试过"找到"游戏对象的值从我的菜单脚本,但我似乎不能有任何成功。

// 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;

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

正确的方法是让游戏管理器对象在整个游戏中持续存在,并控制设置类对象。

如果你仍然需要在检查器中设置公共布尔值,请使用以下方法:

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

很难确切地说出需要做什么,因为我需要看到你的项目结构,哪些类管理你的项目,以及它们是如何在Inspector

中组成的

(请注意,上面的代码只是指示方法,可能不会像您希望的那样工作。为了使它在您的情况下有用,需要我上面提到的数据)