关于monobehaviour生命周期的一些记录

时不时面试会提到,时间一长又时不时要找资料巩固一遍,当时索性就摘抄了下来,现在迁到自己博客里,顺便添点遇过的问题和自己的想法,也方便回顾;

Unity3d脚本从唤醒到销毁有一套比较完整的生命周期
Awake – Start – Update – FixedUpdate – LateUpdate – OnGUi – Reset – OnDisable – OnDestroy

1. Awake方法

  • 在加载场景时运行,只执行一次(加载一次执行一次,或者生成一次执行一次);

  • 在第一次执行Start、Update、FixedUpdate之前调用;

  • 在脚本实例化的时候调用,不管是不是Enable,并且在生命周期中只会被调用一次;

  • 在所有Start方法调用前调用;(一个场景中有多个脚本,多个脚本的Awake执行完毕之后,才开始按顺序依次执行各脚本的Start方法);

  • 官方要求 尽量在Awake中进行初始化操作;

- 通过代码生成的对象,它的Awake方法根据调用生成位置来决定是否遵循上述规则;在其他对象的Awake中生成的,则遵循上述规则(主要是二、三条);

2. Start方法

  • 游戏场景加载时调用,该方法内可写游戏场景初始化之类的代码;

  • Start在对象第一次enable之后,Update之前,start在脚本的生命周期中只可能被调用一次。

3. Update方法

每一帧渲染前调用,大部分游戏代码在这执行,除物理部分外;
跟平台帧数相关;

4. FixedUpdate方法

会在固定的物理时间步调调用一次,是基本物理行为代码执行的地方;

5.LateUpdate
晚于Update、FixedUpdate;
所有Update调用后调用相机渲染;

========================================================================================
可以使用Print()和Debug.Log()打印调试信息,Print()只能在Mono类中使用。Debug.Break()设置断点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值