请选择 进入手机版 | 继续访问电脑版
提问

Unity学习日记——API学习4

Unity3d AR/VR开发  / 倒序浏览   © 著作权归作者本人所有

#楼主# 2019-6-20

跳转到指定楼层
GameObject有Destroy和DestroyImmediate两种方法让它消失,不同之处在于DestroyImmediate是立刻消失,通常情况下是不建议用这个的,因为立刻消除容易产生某些Bug,而Destroy则是先在游戏场景里面删除,,我们看不到它了,但是它还是存在于某个地方,当确认这个游戏对象确实已经不再需要的时候,才会真正删除。可以这么理解,Destroy就相当于我们再电脑上删除文件,放到了回收站里面,万一还要用,还可以从回收站里面找回来,而DestroyImmediate相当于直接粉碎,是无法从回收站里面找回来的。
而这里要说明的是,这个删除,不仅仅是可以删除某个游戏对象的,还可以删除某个游戏对象上的某个组件,某个脚本。
还有一个DontDestroyOnLoad,正常情况下,我们在场景进行切换的时候,上一个场景里面的所有的游戏对象都会销毁,当我们想要保留某个游戏对象的时候,想让它一直保存在各个场景里面的时候,就可以用这个方法了,比如说我们游戏的控制音量键,想要再各个游戏场景里面都保留,就可以用到这个方法了。
然后是关于GameObject的标签的,有两个标签的功能是类似的,一个是FindGameObjectsWithTag,另一个是FindWithTag,都是通过标签查找游戏对象,第一个是查找整个场景里面的所有的有该标签的游戏对象,第二个是查找有该标签第一个游戏对象。
学习API的课程,有一种把自己以前的知识梳理一遍的感觉,因为Unity里面有很多的API,我以前跟着视频做游戏,只是跟着做,有很多地方都不是特别明了,包括自己做游戏,也是这样的,只是知道我这么做能够实现我想要的功能,而不知道为什么我这么做能够实现我要的功能,也就是知其然而不知其所以然,现在的话就是在往知其所以然的路上走。所以时不时的会有一种恍然大悟的感觉。

回复

使用道具

成为第一个回答人

B Color Link Quote Code Smilies
返回顶部