中易网

Unity3D C#如何设置GUI文本框的内容

答案:1  悬赏:50  
解决时间 2021-03-06 10:43
Unity3D C#如何设置GUI文本框的内容
最佳答案
GameObject.Find("GUI_ZT").guiText.text="";
注意GameObject.guiText是一个组件(脚本),他有一个属性叫text,所以要改的不是guiText而是guiText.text
关于该脚本的属性这个问题,首先你要明白unity的组织结构。他是通过场景里的所有物体(GameObject)形成的树状结构,最直观的就说Hierarchy面板下的所有物体(GameObject,以下称为Go)。即,每个Go下面有除了一堆组件(Component,或者Monobaviour,也称为脚本)外,还有一个或者多个子Go。
unity的这种结构和很多主流引擎的结构是相同的,这种结构的好处就是加快搜索效率,从而提高游戏效率。在unity中,形成这个结构的组件就是Transform,通过它的Parent、Root、Child等方法就能搜索在这个Transform所在的Go上的子Go或者父Go。unity还提供了很多搜索的方法,比如用GetComponent,GetComponent,GetComponentInChildren等很多查询组件的方法。为了更方便地查询,还有全局静态方法如GameObject.Find,GameObject.FindOfType等来支持开发者。
所以,你的问题的解决方案更详细地就是:
GameObject ui=GameObject.Find("GUI_ZT");
ui.guiText.text="";
推而广之,你要想改变某个组件(脚本)的某个属性,
1:找到那个脚本所在的GameObject
2:通过这个GameObject找到这个组件(脚本)
3:改变这个组件(脚本)的那个属性值
追问:既然是一样的写法,我错在哪里,为什么说guitext为只读
追答:注意:GameObject.Find("GUI_ZT").guiText.text="";

是text,不是guitext
guitext是自带的组件,里面有一堆属性,你让他如何等于一个字符串,类型都不相同
他有一个属性叫做text,这个才是你要赋值的属性
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
所谓的给外地人上两险,指的是什么险
上海闵行建平烟草经营部地址在什么地方,想过
帮忙取个情侣网名
怎样才能让冻库的噪音声小点
PHP如何显示5分钟前的时间?给下详细代码 谢
思铂睿和雅阁哪个好
天天快递诸葛分部地址有知道的么?有点事想过
变压器的正序电抗和正序电阻怎么计算???急
unity 怎么停止对一个组件的使用
还房贷是十年好还是三十年好啊。好在哪里啊
出嫁女还会和娘家那些人来往
南山暖气在哪里啊,我有事要去这个地方
哪些行业一年发13个月的工资
在合同法中,要约的撤销和撤回有什么区别?
想要gl师生文,老师深爱学生的那种,就是老师
推荐资讯
EXcel 2007,想保留所有行数为4的倍数的行,
手机无法充电 显示电压过低是怎么回事?
暗黑 雇佣兵光环
如图是一架正在升空的直升机,使该直升机向上
zbrush4 shift+x 对应的命令是什么
在手机淘宝上使用信用卡支付,咋样查看支付记
泸州老窖专卖店NO.0661地址有知道的么?有点
狗下了一只狗后,隔了3个小时第二个还没有出生
求M20内六角头部直径是多少
菏泽市道路运输管理处(西北门)这个地址在什么
檀宫地址有知道的么?有点事想过去
穿岩在哪里啊,我有事要去这个地方
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?