Unity 从脚本访问布尔值以在其他脚本中使用 Google Cardboard
Unity access boolean from script to use in other script Google Cardboard
在我的菜单场景中,我有一个触发函数 LoadStereo()
的布尔按钮,它允许 VRModeEnabled
或 !VRModeEnabled
。
GvrViewer MonoOrStereo = new GvrViewer();
void Awake() {
bool stereo = MonoOrStereo.VRModeEnabled;
}
public void LoadStereo(bool stereo) {
Debug.Log (stereo);
}
这似乎记录了 true 和 false,因此我的两个按钮在单击时为我提供了正确的值。
但是我无法将此值发送到 Loaded 场景。在 Loaded 场景的启动函数中,我有
void Start() {
GameObject MonoOrStereo = GameObject.Find("MonoOrStereo");
Menu menu = MonoOrStereo.GetComponent<Menu>();
}
但我无法访问布尔值 menu.stereo
,只能访问 menu.LoadStereo()
。我怎样才能把它变成我可以在我的代码中使用的布尔值?
您无法从 Menu
脚本访问 stereo
变量,因为 stereo
是在函数中声明的。在函数外声明它,然后在 Awake()
函数中初始化它。您还必须将其设置为 public
才能访问它。
public GvrViewer MonoOrStereo = new GvrViewer();
public bool stereo;
void Awake() {
stereo = MonoOrStereo.VRModeEnabled;
}
public void LoadStereo(bool stereo) {
Debug.Log (stereo);
}
在我的菜单场景中,我有一个触发函数 LoadStereo()
的布尔按钮,它允许 VRModeEnabled
或 !VRModeEnabled
。
GvrViewer MonoOrStereo = new GvrViewer();
void Awake() {
bool stereo = MonoOrStereo.VRModeEnabled;
}
public void LoadStereo(bool stereo) {
Debug.Log (stereo);
}
这似乎记录了 true 和 false,因此我的两个按钮在单击时为我提供了正确的值。
但是我无法将此值发送到 Loaded 场景。在 Loaded 场景的启动函数中,我有
void Start() {
GameObject MonoOrStereo = GameObject.Find("MonoOrStereo");
Menu menu = MonoOrStereo.GetComponent<Menu>();
}
但我无法访问布尔值 menu.stereo
,只能访问 menu.LoadStereo()
。我怎样才能把它变成我可以在我的代码中使用的布尔值?
您无法从 Menu
脚本访问 stereo
变量,因为 stereo
是在函数中声明的。在函数外声明它,然后在 Awake()
函数中初始化它。您还必须将其设置为 public
才能访问它。
public GvrViewer MonoOrStereo = new GvrViewer();
public bool stereo;
void Awake() {
stereo = MonoOrStereo.VRModeEnabled;
}
public void LoadStereo(bool stereo) {
Debug.Log (stereo);
}