【发布时间】:2019-10-03 12:57:25
【问题描述】:
我今天开始使用 Unity 进行 C# 编程。如何获取从 1st_Scene 到 2nd_Scene 的值的内容?
在第一个场景中,我必须使用 Vuforia 引擎识别一张图片。识别图片后,您可以在画布上看到输入文本字段、按钮“传输”、空文本字段和第二个按钮“下一步”。首先,我在文本字段中写下我的名字。单击第一个按钮“传输”,文本显示在空的文本字段中。然后我点击第二个按钮“下一步”。这将加载 2nd_scene。此外,第一个 Textfield 中的变量应显示在第二个场景中,也应显示在第二个场景中画布中的 Textfield 中,但不会。
我试图用一个静态变量和一个额外的静态类来做到这一点。但是 Unity 总是显示这个错误:
这是脚本。
public class Button_Event : MonoBehaviour {
public InputField fInput;
public Text txtEingabe;
public void Setget() {
txtEingabe.text = "Your name is: " + fInput.text;
}
public void SwitchScene() {
DontDestroyOnLoad(this.gameObject);
SceneManager.LoadScene(1, LoadSceneMode.Single);
txtEingabe.text = "Your name is: " + fInput.text;
}
}
这是两个场景中物体的图片:
【问题讨论】:
-
如果你想保持它的对象,那么使用
DontDestroyOnLoad()。但是如果你想要场景中的值我建议你使用PlayerPrefs -
@thirteen4054 我是否必须通过单击“下一步”按钮将其插入到调用的方法中?括号中的“this”?
-
没有。您可以在
Start或Awake中致电DontDestroyOnLoad()。