Unity坦克案例疑难记录(二)

一、报空引用的问题

报空,是引擎要访问的字段为null了。

先查看Inspector面板上拖入对象了没有。

如果不是Inspector面板上的对象,是不是有字段没start时赋值

还不是,寻找是不是有字段在生命周期中提早置空了。

二 继承MoNoBehavior的类的构造函数问题

Inspector 显示的值 = 最后被序列化数据(或反序列化后代码修改)所确定的值。

一般要序列化显示的类是unity自动new出来的,不需要手动new。如果手动new出来,可以赋值默认值,但也会被面板修改后覆盖数据。

三 切换场景的生命周期问题

unity场景切换后 重新开始生命周期。

但静态字段不属于任何实例,它属于类型本身,存储在应用程序域 中,不会因为场景卸载而自动清空。

比如说,我们将设置面板设为了静态类。那么开始场景中和游戏场景中都有设置面板。在开始场景中,这个静态字段就指向了开始场景中的设置面板,在游戏场景中就指向了游戏场景的设置面板。它只存在一个全局对象,所以只能指向不同场景下的对应对象。

四 获取游戏中的对象和对象上的脚本顺序

先获取对应的游戏对象,再获取到该对象上的挂载的脚本或者组件。

五 父子对象的标签问题

在这个案例中,采用了

六 Time.dealt详细分析

它是每帧之间的间隔时间,一秒多少帧数因计算机而异。但一秒的时间是固定的。所以1s内的帧间隔时间之和是一秒。所以Update()下位移就是方向×速度xTime.dealtTime。是微积分思想。保证每秒的位移是固定的。一秒的位移总和,是单帧*该帧时间*速度*方向的积分。

相关推荐
阿松爱学习5 小时前
【Unity开发】Unity长截图功能实现
unity·c#·游戏引擎
小小数媒成员6 小时前
Rect Transform
游戏·unity·游戏引擎
淡海水11 小时前
07-01-源码-.NET Core GC总览与架构
unity·架构·c#·.netcore·gc
true...14 小时前
虚幻里面设置物体显示、隐藏的两种方式
游戏引擎·虚幻
淡海水2 天前
06-03-源码-时间分片与调度策略
unity·c#·gc
郝学胜-神的一滴2 天前
游戏设计:原型与开发 08:我们到底在为谁做游戏
程序人生·游戏·游戏引擎·游戏开发·游戏策划
五仁烧饼2 天前
动手学 Shader Graph(二):溶解与边缘发光
游戏·unity·shader·shader graph
淡海水2 天前
06-02-源码-增量标记算法实现
算法·unity·c#·gc
淡海水2 天前
06-01-源码-Incremental GC总览与设计
unity·c#·gc
郝学胜-神的一滴3 天前
游戏设计:原型与开发 07:像游戏设计师一样工作
图像处理·游戏·unity·图形渲染·游戏策划·游戏设计