Tips
代码习惯
C# 格式
- 全局变量:_newList
- 临时变量:newlist
- 函数:UpdateList()
- 静态变量:NewList
用 foreach 而不是 for 去遍历
善用 GetComponentsInChild
- 用
GetChild
更容易受到美术调整的影响
i++ 和 ++i
i++
1
2
3var t = i;
i += 1;
return t;++i
1
2i += 1;
return i;i = i + 1
1
2var t = i + 1;
i = t;
++i
不需要给中间变量赋值,性能会好一点
From:https://blog.csdn.net/Dr_Unknown/article/details/51363196
不要一边遍历一边删除
TimeLine Directior 的单位是秒
Bug
unity 空引用异常
From大佬:Unity基本百分之90的报错都是
NullReferenceException: Object reference not set to an instance of an object
,非常容易碰到了属于是,不过能复现出来的话这类貌似是最好解决的
- 断点断到位置的每个变量都可能为空,包括被赋值的对象,这个对象的组件,赋值的值,均需要检查
- 提前加保护:判断若未空则返回
if (x == null) return
原因 | 解决 |
---|---|
空引用 | 断点找到空引用位置,可能是组件可能是对象 |
对象名字写错 | 包括大小写,末尾的空格,名字写错 |
对象隐藏 | 设置sective |
名字重名 | 没遇到过,一般不运行就会直接报错吧 |
错误的引用周期 | Start 时引用到了另一个脚本未Start 的脚本,将被引用的放到Awake 里 |
不要猜Bug
- 与其从功能开始的地方猜测问题在哪里
- 不如直接从调用的函数位置开始打日志,通过查看堆栈判断
- 这样不需要捋顺所有逻辑,从每个调用的地方判断
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 五里霧中!