如何将数字从场景 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? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何设计允许用户将自己的 .FBX 文件导入 oculus quest 2 上的虚幻引擎 4 场景的功能?

如何将数据文件导入MySQL?

如何将数据文件导入MySQL?

关于Unity中场景的导入与导出

如何将 FBX/OBJ 模型导入巴比伦场景?

unity3D 如何导入3d场景