带有多个脚本的TextField中的C#参数切换

时间:2013-01-07 21:31:10

标签: c# user-interface unity3d

我正在使用C#在Unity中编写游戏。作为游戏的一部分,我有一个附加到几个对象的脚本。此脚本包含OnGUI()方法。正如我之前在其他question中发现的那样,脚本和OnGUI()被多次调用。

现在我正在尝试插入一个TextField,让玩家输入他想从银行随身携带的钱币值(当按下按钮时,选择的值会给予玩家确认)。但无论我尝试做什么,文本字段中的值仍然是0(起始值)。

我想知道是否有一种方法可以输入TextField,而不会被附加到多个对象的同一脚本中的多个OnGUI()函数覆盖,返回0

1 个答案:

答案 0 :(得分:0)

在Unity场景中创建一个空白对象,并将脚本附加到它。将文本字段的内容放入公共变量int,并从其他脚本引用该变量。您可以使用脚本的GameObject.Find和GetComponent方法访问变量,并在必要时写入变量。此外,如果需要,您可以执行PlayerPrefs.SetInt或SetFloat以及GetInt,GetFloat来设置和检索值。但这对资源来说很麻烦。