一、报空引用的问题
报空,是引擎要访问的字段为null了。
先查看Inspector面板上拖入对象了没有。
如果不是Inspector面板上的对象,是不是有字段没start时赋值
还不是,寻找是不是有字段在生命周期中提早置空了。
二 继承MoNoBehavior的类的构造函数问题
Inspector 显示的值 = 最后被序列化数据(或反序列化后代码修改)所确定的值。
一般要序列化显示的类是unity自动new出来的,不需要手动new。如果手动new出来,可以赋值默认值,但也会被面板修改后覆盖数据。
三 切换场景的生命周期问题
unity场景切换后 重新开始生命周期。
但静态字段不属于任何实例,它属于类型本身,存储在应用程序域 中,不会因为场景卸载而自动清空。
比如说,我们将设置面板设为了静态类。那么开始场景中和游戏场景中都有设置面板。在开始场景中,这个静态字段就指向了开始场景中的设置面板,在游戏场景中就指向了游戏场景的设置面板。它只存在一个全局对象,所以只能指向不同场景下的对应对象。
四 获取游戏中的对象和对象上的脚本顺序
先获取对应的游戏对象,再获取到该对象上的挂载的脚本或者组件。
五 父子对象的标签问题
在这个案例中,采用了
六 Time.dealt详细分析
它是每帧之间的间隔时间,一秒多少帧数因计算机而异。但一秒的时间是固定的。所以1s内的帧间隔时间之和是一秒。所以Update()下位移就是方向×速度xTime.dealtTime。是微积分思想。保证每秒的位移是固定的。一秒的位移总和,是单帧*该帧时间*速度*方向的积分。