我正在使用C#在Unity中编写游戏。作为游戏的一部分,我有一个附加到几个对象的脚本。此脚本包含OnGUI()
方法。正如我之前在其他question中发现的那样,脚本和OnGUI()
被多次调用。
现在我正在尝试插入一个TextField
,让玩家输入他想从银行随身携带的钱币值(当按下按钮时,选择的值会给予玩家确认)。但无论我尝试做什么,文本字段中的值仍然是0(起始值)。
我想知道是否有一种方法可以输入TextField,而不会被附加到多个对象的同一脚本中的多个OnGUI()
函数覆盖,返回0
?
答案 0 :(得分:0)
在Unity场景中创建一个空白对象,并将脚本附加到它。将文本字段的内容放入公共变量int,并从其他脚本引用该变量。您可以使用脚本的GameObject.Find和GetComponent方法访问变量,并在必要时写入变量。此外,如果需要,您可以执行PlayerPrefs.SetInt或SetFloat以及GetInt,GetFloat来设置和检索值。但这对资源来说很麻烦。