簡體   English   中英

如何將變量從一個場景中的一個對象傳遞到 Unity3D 中另一個場景中的另一個對象?

[英]How to pass variables from one object in one scene to another object in another scene in Unity3D?

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

{

        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());

          }
                   }
                            }
                    }
                }}

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

public class MyScript : MonoBehaviour
{
    public static GameObject unityNameSelected;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM