Unity学习笔记:控制UI的显示与隐藏(GameObject.Find找不到还报错?)

做项目需要实现一个UI的显示与隐藏功能。

我一开始的代码很简单很天真地这么写的。

unity 点击空白处隐藏图片 unity点击之后隐藏按钮_百度


然后,发现他点击按钮确实是隐藏了PrimePlane,但是,我要的StuPanel没有出来,并且报了一个奇怪的错误。

unity 点击空白处隐藏图片 unity点击之后隐藏按钮_unity 点击空白处隐藏图片_02

之前类似的错误学长告诉我是脚本挂少了之类的,但是这次我是把项目单独提溜出来做的,整个工程文件里面就只有我写的这一个脚本,所以肯定不是这个问题。

百度得到的第一个回答,但我感觉我不是这个问题,原因同上,我只有这一个脚本,不会是类之间的纠葛问题。

之后继续百度,得到了这个答案,真是太懂我了,完美解决了我的问题。


unity 点击空白处隐藏图片 unity点击之后隐藏按钮_unity 点击空白处隐藏图片_03


我本来就是写在Start里面隐藏的,所以应该就是改成在函数外面定义GameObject就好了。如图所示,下面这样就是正确的:

unity 点击空白处隐藏图片 unity点击之后隐藏按钮_工程文件_04


打勾的地方有个小小的雷点,就是不能之间在private GameObject PrimePanel之后就写上= GameObject.Find(“PrimePanel”);必须单独写

unity 点击空白处隐藏图片 unity点击之后隐藏按钮_UI_05


unity 点击空白处隐藏图片 unity点击之后隐藏按钮_UI_06


如此就可以快快乐乐地为所欲为为所欲为为所欲为为所欲为啦~

因为我自己的需要我设置了private,不想外部看见这个接口,但是鉴于原博主答案写的public,我也写了一个public的,事实证明都可以正常运行。

unity 点击空白处隐藏图片 unity点击之后隐藏按钮_工程文件_07

一些寻找答案过程中收集的资源:

unity 点击空白处隐藏图片 unity点击之后隐藏按钮_工程文件_08



https://www.pianshen.com/article/9662884054/(这两个网址内容是一样的,就当多存一个备份了)

unity 点击空白处隐藏图片 unity点击之后隐藏按钮_UI_09


unity 点击空白处隐藏图片 unity点击之后隐藏按钮_工程文件_10


详细内容请访问原作者网页,在此仅作整理学习用,侵删关于GameObject.Find的一些内容:


这个博主也写的很全面很细致!强烈推荐~

unity 点击空白处隐藏图片 unity点击之后隐藏按钮_百度_11


unity 点击空白处隐藏图片 unity点击之后隐藏按钮_UI_12


原来如此,我的需求就是StuPanel先隐藏,点击按钮再显示,怪不得找不到~以及一开始没解决向学长请教时,学长建议我搜索的transform.find:

unity 点击空白处隐藏图片 unity点击之后隐藏按钮_unity 点击空白处隐藏图片_13