Unity知识二:显示和隐藏游戏对象
来源:互联网 发布:mac os 10.12原版安装 编辑:程序博客网 时间:2024/05/22 12:49
游戏中界面需要来回切换,一种方法是把它们都显示出来,用到某个游戏对象的时候让它的位置发生变化,是我们能看到;另一种方法就是游戏对象都放在这里,只是有些显示,而有些要隐藏。当我需要某些物体显示的时候它再显示,同时也可以把不必要的游戏物体给隐藏起来。
隐藏游戏物体用SetActive()方法。
比如:
GameObject gameLoginBackground; // Use this for initialization void Start () { gameLoginBackground = GameObject.Find("LoginBackground"); gameLoginBackground.SetActive(false); }
这样,游戏物体LoginBackground就被隐藏掉了。
注意:(这里有一个很重要的点)
我们说可以SetActive()方法将一个显示的游戏对象设置成隐藏的,但是一个本来就隐藏的游戏对象是无法设置成显示的!
什么意思?来看一张图片:
我们可能会想,我在这个Inspector面板中把它的对号给去掉,它的SetActive()方法的值就是false,等到我想让它显示了,我再设置SetActive()方法的值为true,这样就好了。
不行的亲~
这个对号和SetActive()方法一点关系都没有,你把这个对号去掉了,那这个游戏物体就是不能用的,它都不能用,还怎么去调用它的SetActive()方法?那只能找不到而报错:“object reference not set to an instance of an object”,意思是未将对象引用到对象的实例,说简单点就是这个东西找不到。
所以一个本来就隐藏(现在说不可用更合适)的游戏物体是不能通过SetActive()方法设置显示与隐藏的。
那么我们怎么做呢?
不管怎样,这个游戏物体是存在的,所以只要是游戏中物体,我们都要保证它的对号是勾选上的,然后进行隐藏和显示。
//首先声明一个对象GameObject gameBackground;//找到游戏对象gameBackground = GameObject.FindGameObjectWithTag ("GameBackground");//先设置它的可用为false,就看不见它了gameBackground.SetActive (false);XXOO//经过一系列的XXOO后设置它的可用为true,就可以看见它了gameBackground.SetActive(true);
注意事项二:
当一个游戏物体的对象的SetActive()设置为false时,那么该游戏物体的Destroy()方法就不能再使用了,原因跟上面类似。所以用不到的话直接Destroy掉吧。
- Unity知识二:显示和隐藏游戏对象
- Unity之游戏对象隐藏的问题
- Unity 如何查找被隐藏的游戏对象
- Unity 控制游戏对象,显示小地图
- Unity 游戏物体的显示隐藏以及Time类
- 关于游戏对象隐藏和重新显示之前触发的消息。
- [Unity-25] Unity中让游戏对象消失或隐藏的几种方法
- DIV显示和隐藏用法(二)
- Unity创建按钮点击实现菜单显示和隐藏
- unity属性面板值的显示和隐藏
- Unity获取游戏对象
- Unity 获取游戏对象
- Unity克隆游戏对象
- 【知识总结】显示/隐藏状态栏和导航栏
- unity游戏引擎相关知识
- unity3d4.6 点击按钮显示对象和隐藏对象
- Unity中让游戏对象消失或隐藏的几种方法
- 显示隐藏div对象
- 我的第一篇关于Java基础博客
- temp records
- 简单工厂模式
- 雾霾早知道
- 【转】TCPIP协议中的三次握手和四次挥手
- Unity知识二:显示和隐藏游戏对象
- python3 beautifulsoup查找网页中的链接
- 线程join
- linux(centos)搭建SVN服务器
- 使用MonoBehaviour创建xml文件
- Android中的动画
- 理解C语言——从小菜到大神的晋级之路(9)——多维数组
- 1023. Have Fun with Numbers (20)
- HTTP协议详解