2

是否可以将变量从一个场景中的一个对象传递到另一个场景中的另一个对象?如果是这样,我需要将 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());

          }
                   }
                            }
                    }
                }}
4

1 回答 1

2

看起来您已经知道如何防止对象被统一(DontDestroyOnLoad)破坏。所以你现在需要做的就是将它存储在某个地方,在下一个关卡加载后仍然可以访问它。一个简单的方法是使用静态变量:

public class MyScript : MonoBehaviour
{
    public static GameObject unityNameSelected;
}
于 2012-11-14T13:48:40.820 回答