2012-11-14 93 views
2

是否可以將變量從一個場景中的一個對象傳遞到另一個場景中的另一個對象?如果是這樣,我需要將unityNameSelected全局變量從場景2中的對象中附加的第一個腳本(下文列出)傳遞給附加到場景中另一個對象的第二個腳本1.感謝您的幫助。如何將變量從一個場景中的一個對象傳遞到Unity3D中另一個場景中的另一個對象?

{ 

     while (reader.Read()) 
     { 
      if (reader.NodeType == XmlNodeType.Element) 
      { 
       if (reader.HasAttributes) 
       { 
        if (reader.GetAttribute("UnityName") != null) 
        { 
         unityName = reader.GetAttribute("UnityName"); 
         if(!values.Contains(unityName)) 
         { 
        values.Add(unityName); 
        DontDestroyOnLoad(GameObject.Find("unityName")); 


         unityNameSelected = unityName; 
        //string[] unityNameSelected3 = {unityName}; 
        // unityNameSelected =unityNameSelected3; 
          print(unityNameSelected.ToString()); 

      } 
        } 
          } 
        } 
       }} 

回答

2

看起來你已經知道如何預防對象由統一(DontDestroyOnLoad)被破壞。因此,您現在需要做的就是將其存儲在某個地方,在下一級加載後仍然可以訪問它。一個簡單的方法是靜態變量:

public class MyScript : MonoBehaviour 
{ 
    public static GameObject unityNameSelected; 
} 
相關問題