我创建了一个不会在加载时销毁的游戏对象。我希望它成为输入数据的持有人,以便我可以访问另一个场景中的字符串。问题是如何使用户从输入文本字段输入到我的游戏对象中,然后又回到另一个场景中的文本字段中。我在想我可以使用附加到检查器输入字段中的内置脚本On End Edit(字符串)脚本,以将输入传递给我的游戏对象。我的目标是从用户输入中获取字符串,并在另一个场景中很好地显示所有格式的字符串。我还标记了所有输入字段,并向我的游戏对象附加了一个脚本,该脚本可找到带有标签的所有游戏对象。这可能是获取字符串的更好方法。
我会使用playerprefs保存其他会话的数据。如果只想保存其他场景的数据,请使用静态类。您甚至不需要“ Dontdestroyonload”
在您的项目中创建此类:
public static class ExampleUserData
{
public static string MyUserData1;
public static string MyUserData2;
//etc..
}
将该类附加到场景中的游戏对象上:
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class ExampleScene1 : MonoBehaviour
{
InputField input1;
InputField input2;
void Awake()
{
//input1 = something...;
//input2 = something...;
}
void LoadScene2()
{
ExampleUserData.MyUserData1 = input1.text;
ExampleUserData.MyUserData2 = input2.text;
SceneManager.LoadScene("Scene2");
}
}
您第二个场景中的这个:
using UnityEngine;
using UnityEngine.UI;
public class ExampleScene2 : MonoBehaviour
{
InputField input1;
InputField input2;
void Awake()
{
//input1 = something...;
//input2 = something...;
}
void Start()
{
input1.text = ExampleUserData.MyUserData1;
input2.text = ExampleUserData.MyUserData2;
}
}
替换Awake()中的代码以找到您的输入字段。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句