原文地址:Unity3D脚本各函数执行顺序And不同脚本的执行顺序
作者:草莓小臭臭
一、继承MonoBehaviour类里的常用函数调用顺序:
(1)、Awake():当一个脚本实例被载入是被调用,是最先被调用的函数,在脚本实例的整个生命周期,Awake()只会执行一次。(当脚本所附于的游戏物体没有被激活,Awake()则不会被执行,否则即使Awake()所在的脚本被禁用,也会执行Awake())在不切换场景的情况下,重新开启或关闭游戏激活状态Awake()也不会再被执行。
(2)、Start():仅在Update()函数第一次调用前被调用。在behaviour的生命周期中只被调用一次。Awake总在Start之前执行。(如果已经开启过的脚本实例被关闭之后再次开启,那么Start()不会再次被执行)对应了在behaviour的生命周期中只被调用一次。
一般都是在Awake函数中创建游戏对象,然后在Start函数中获取游戏对象或游戏组件。
(3)、Update():当MonoBehaviour启用时,其Update在每一帧被调用。
(4)、FixedUpdate():这个函数会在每个固定的物理时间片被调用一次.这是放置游戏基本物理行为代码的地方。UPDATE之后调用。(时间间隔默认是0.2s)
(5)、OnGUI():渲染和处理GUI事件是调用,这个函数会每帧调用好几次(每个事件一次),GUI显示函数只能在OnGui中调用。
二、物体上的脚本的执行顺序
1、默认的不同脚本在不同物体上的执行顺序是:越晚附于物体的脚本越先执行。并且是所有物体上的Awake之后再执行所有物体上的Start函数,以此类推。