首页 > 解决方案 > Unity 可视化脚本变量

问题描述

我有一个有 3 个按钮的场景,每个级别一个。我使按钮 2 和 3 不可交互,我想这样做,所以当你赢得第一个时,你可以开始第二个等等......所以我从 button2 的选项中取消选中可交互框。然后我转到我的播放器的脚本并连接了以下部分,所以当他完成第一级时,按钮 2 可以交互。但是好像有问题。

在此处输入图像描述

标签: unity3d

解决方案


(此答案仅适用于您正在加载新场景。)

也许,问题在于您无法保存一个变量来告知允许哪些级别。(除非您通过实际的保存机制来执行此操作。)这是因为统一在加载新场景时会破坏场景中的所有对象。这将删除存储在变量中的所有数据。你可以通过使用来解决这个问题

DontDestroyOnLoad(gameObject);

这会保存您通过场景加载放入括号中的 gameObect 变量。您可以附加一个将变量存储到此的脚本,以保存信息。

如果您不知道如何从其他脚本中获取变量,请使用以下命令:

 var newVariable = GameObjectVariable.GetComponent<scriptName>().variableName;

我看到您正在使用可视化编码,所以如果您可以尝试找出如何在其中找到这些方法,它应该可以工作。

如果您想使用实际的保存机制,请转到此链接:

https://docs.unity3d.com/ScriptReference/PlayerPrefs.html/


推荐阅读