生命周期
意义:unity脚本从唤醒到到销毁的全过程
学习重点:(1)执行时机(最重要)(2)作用(3)方法名称 ps:方法名称写错了该方法就不会执行
初始化阶段:Awake和Start
Awake执行时机:物体加载时立即执行一次(仅一次)
作用:充当构造函数初始化数据成员
Start执行时机:等待物体加载,并且脚本启用,才执行一次;
作用:初始化数据成员
总结:unity引擎会在一开始调用所有对象的Awake然后在调用所有的Start函数
OnEnable:每次启用都会被调用一般用来注册事件
处理游戏的逻辑Update和Lateupde
Update执行时机:每渲染帧(大概0.02秒执行一次)执行的时间和渲染的物体数量和机器的性能有关
作用:处理游戏的逻辑例如移动(速度必须乘以Time.deltatime)因为执行的时间不固定
LateUpdate执行时机:延迟更新,在Update后面执行
作用:适合执行跟随Update移动的代码
处理和物理相关:FixedUpdate,OnMouseDown,OnTriggerEnter
FixedUpdate执行时机:固定时间更新大概0.02s,不受机器的限制
作用:处理游戏逻辑(在这里如果处理移动就需要乘以Time.delta.time因为他是固定时间更新)
OnMouseDown/up/Enter/over/Exit/Drag执行时机:当鼠标按下时执行依次进行类推
作用:当点击时执行某一个事件
OnTriggerEnter/Exit/Stay执行时机:当碰撞体进入触发器时调用
作用:进行碰撞检测
渲染相关:OnBecamelnvisible和OnBecamelnvisible
前提是挂载该脚本的游戏对象必须要有MeshRendererr组件
OnBecamelnvisible的执行时机:当前的游戏对象不可见是进行调用
OnBecamelnvisible的执行时机:当前游戏对象可见时调用
结束时:OnDisable,OnDestroy,OnApplicationQuit
OnDisable执行时机:当脚本禁用是进行调用
OnDestroy执行时机:当脚本销毁时进行调用
OnApplicationQuit执行时机:当应用程序退出时调用