总结下在学习了Unity3D中1年以来遇到的一些坑。
-
没有初始化物体
这是一个很常见的错误,由几种可能导致。(1)没有给变量赋初值
哪个变量没赋初值,赋个初值就完事了。
(2)调用的物体未激活
被调用物体自身没有激活或者其父物体没有激活导致找不到子物体,还可能是在代码的运行过程中取消了物体的活性导致。出现错误时,根据报错提示,一步步溯源去找是不是哪个物体没激活。 -
越界问题
索引的值超出数组的实际大小时报错。在使用for循环去处理一些问题时,因为条件的设置没考虑边界的问题时而产生。 -
Unity在编译时卡死
在我遇到的几次卡死的情况都是使用while、for等循环时,判断条件没设置清楚导致死循环。在设置循环结束的条件时,多想想这个循环时什么时候开始,在什么时候需要结束,把边界条件代入进去是否会出错。 -
用Json进行文件存储时,存储的数据格式限制在int,bool,string中。比如DataTime变量要装换成int的方式进行存储。
-
在Canvas中UI显示的层次,按Hierarchy面板里的顺序决定,越靠近Canvas的组件,显示的越低层。