Unity从脚本访问布尔值以在其他脚本Google Cardboard中使用

时间:2016-09-03 05:01:11

标签: c# unity3d 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场景的启动功能中,我有

void Start() { 
     GameObject MonoOrStereo = GameObject.Find("MonoOrStereo"); 
     Menu menu = MonoOrStereo.GetComponent<Menu>(); 
} 

但我无法访问布尔menu.stereo,只能访问menu.LoadStereo()。如何将其转换为我可以在我的代码中使用的布尔值?

1 个答案:

答案 0 :(得分:1)

您无法从stereo脚本访问Menu变量,因为在函数中声明了stereo。在函数外声明它然后在Awake()函数中初始化它。您还必须将其设为public才能访问它。

public GvrViewer MonoOrStereo = new GvrViewer(); 
public bool stereo;

void Awake() { 
    stereo = MonoOrStereo.VRModeEnabled; 
} 

public void LoadStereo(bool stereo) { 
    Debug.Log (stereo); 
}