2016-09-03 1 views
0

In meinem Menü Szene habe ich eine boolesche Schaltfläche, die die Funktion LoadStereo() auslöst, die entweder VRModeEnabled oder !VRModeEnabled ermöglicht.Unity Zugriff Boolean von Skript in anderen Skript Google Cardboard

GvrViewer MonoOrStereo = new GvrViewer(); 

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

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

Dies scheint wahr und falsch zu Protokollierung so, wenn darauf geklickt meine zwei Tasten mir die richtigen Werte geben.

Aber ich habe Probleme, diesen Wert an die geladene Szene zu senden. In der Startfunktion der Loaded Szene habe ich

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

aber ich kann nicht die boolean menu.stereo, nur menu.LoadStereo() zugreifen. Wie kann ich dies in einen booleschen Code verwandeln, den ich in meinem Code verwenden kann?

+0

Mögliches Duplikat [eine Variable aus einem anderen Skript C# Zugriff] (http://stackoverflow.com/questions/25930919/accessing-a-variable-from-another-script-c-sharp) – Serlite

Antwort

1

Sie können nicht auf die stereo Variable aus dem Menu Skript zugreifen, da stereo in einer Funktion deklariert ist. Deklariere es außerhalb einer Funktion und initialisiere es dann in der Awake() Funktion. Sie müssen es auch public machen, um darauf zugreifen zu können.

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

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

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