我希望用户能够选择在主菜单中,如果他们想要启动游戏的VR立体声启用或如果他们想要加载它在单声道。现在,GvrViewer脚本在图形用户界面中有一个布尔值复选标记来启用/禁用VR,所以我试图让用户基本上从主菜单控制该布尔值。
我不确定我是否在正确的道路上,但我在主菜单上有两个按钮,上面写着“进入VR”和“进入Mono”。理想情况下,点击"Enter in 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;发布于 2016-09-03 07:07:19
正确的方法应该是拥有游戏管理器对象,它在整个游戏中是持久的,并且可以控制设置类对象。
如果您仍然需要在检查器中使用Public boolean visible,请使用以下方法:
SettingsObject = GameObject.FindGameObjectsWithTag("Settings");
SceneManager = SettingsObject.GetComponent<SomeSceneManagerClass>();
Scenemanager.vrModeEnabled = true; 很难确切地说出需要做什么,因为我需要查看项目的结构、管理项目的类以及它们在Inspector中是如何组合的
(请注意,上面的代码只是指明了方法,可能不会像您希望的那样工作。为了使它在您的情况下有用,我上面提到的数据是必需的)
https://stackoverflow.com/questions/39301607
复制相似问题