轻量级变量对同一游戏对象中的所有脚本可见

时间:2018-12-01 03:27:02

标签: unity3d

我的玩家角色附加了几个脚本。

现在,我想添加一个应该由该游戏对象中的其他一些脚本访问的变量。

我需要在库存场景中显示游戏对象。我通过

将他移到库存现场
SceneManager.MoveGameObjectToScene(Hero, InventoryScene);

虽然此库存场景中显示了游戏对象,但玩家不应移动它。

因此,我想向游戏对象添加一个名为“ isFrozen”的变量。如果此变量为true,则不会处理任何玩家输入。

运动逻辑超过3个脚本。

如何最好地(以一种轻巧的方式)使脚本当前被冻结?

还是我应该尝试将它们合并为1个脚本,然后将此变量添加到该单个脚本中?

1 个答案:

答案 0 :(得分:1)

是的,您可以让多个类访问单个变量。请记住,出于这个原因,静态变量始终在此处。您可以通过将变量设置为 static 来访问此'isFrozen'变量,也可以将变量显示为 singleton 的类并访问该变量。只要确保它是一个公共变量并且一切顺利即可。 如果将“ isFrozen”设置为静态,则可以直接以MyClass.isFrozen的身份访问它。 如果您创建单例课程,则可以像MyClass.Instance.isFrozen;

那样访问它