如何将数字从场景 1 导入场景 2? [复制]
Posted
技术标签:
【中文标题】如何将数字从场景 1 导入场景 2? [复制]【英文标题】:How to import number from scene 1 to scene 2? [duplicate] 【发布时间】:2019-04-23 13:20:18 【问题描述】:如何从另一个场景导入号码?例如:
场景1脚本
if(...)
a = 1;
else
a = 0;
如何将a
导入下一个场景?
【问题讨论】:
【参考方案1】:我这样做的方法是使场景加载异步,并通过代码将值传递给应该在下一个场景中接收它的对象:
var valueToPass = 2;
var asyncOp = SceneManager.LoadSceneAsync("otherScene");
asyncOp.OnCompleted += () =>
// this code runs once the second scene is loaded
FindObjectOfType<SomeOtherObject>().PropertyToFill = valueToPass;
我在脑海中写下了代码,它可能无法编译(手头没有 Unity 来测试它)但这是一般的想法。
【讨论】:
【参考方案2】:您可以通过使用 a 作为静态变量来做到这一点。它会保留价值。
public static int a;
【讨论】:
坏主意,静态值会持续一段时间并成为可能的错误来源。 值可以通过多种方式传递到另一个场景。其中最常见的是: * PlayerPrefs * 静态变量 确实如此,但静态问题之前让我很头疼。以上是关于如何将数字从场景 1 导入场景 2? [复制]的主要内容,如果未能解决你的问题,请参考以下文章