Unity脚本的生命周期(详细版本)

接下来,做出一下讲解:先执行的方法是Awake,这是生命周期的开始,用于进行激活时的初始化代码,一般可以在这个地方将当前脚本禁用:this.enable=false,如果这样做了,则会直接跳转到OnDisable方法执行一次,然后其他的任何方法,都将不再被执行。

如果当前脚本处于可用状态,则正常的执行顺序是继续向下执行OnEnable,当然我们可以在另外一个脚本中实现这个脚本的启动:this.enable = true;

再向下执行,会进行一个判断,如果start方法还没有被执行一次,则会被执行一次,如果已经执行了,则不会再被执行。这是什么意思呢?我们可以在某个脚本中将组件禁用this.enable=false,再启动时会转到OnEnable处执行,这时继续往下走,发现start执行过了,将不再被执行。比如说:第一次启动时,将怪物的初始位置定在了(0,0,0)点,然后怪物可能会发生了位置的变换,后来被禁用了,再次启动时,不会让怪物又回到初始的(0,0,0)位置。

继续向后执行,就是Update了,然后FixUpdate,再然后是LateUpdate,如果后面写了Reset,则会回到Update,在这4个事件间可以进行循环流动。

再向后执行,就进入了渲染模块(Rendering),非常重要的一个方法就是OnGUI,用于绘制图形界面。当然,如果你使用了NGUI,这个生命周期的事情你就不用考虑了。

再向后,就是卸载模块(TearDown),这里主要有两个方法OnDisable与OnDestory。当被禁用(enable=false)时,会执行OnDisable方法,但是这个时候,脚本不会销毁,在这个状态下,可以重新回到OnEnable状态(enable=true)。当手动销毁或附属的游戏对象被销毁时,OnDestory才会被执行,当前脚本的生命周期结束。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值