养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

Unity 脚本的初始化顺序与调整办法

时间:2024-11-15 15:37:13

本经验介绍了在Unity游戏引擎中,游戏脚本的初始化顺序在不同情况下如何,以及如何调整和调整带来的影响。

工具/原料

Unity

方法/步骤

1、首先,在Unity游戏引擎中,脚本的初始化顺序有时候是一个让人关心的问题。比如图种情况,在Start初始化时,依赖于另外一个应当初始化过的脚本。现在我们来探究这一问题。

Unity 脚本的初始化顺序与调整办法

2、首先我们新建了四个脚本,分别是TestScript01/02/03/04,脚本中的代码如下图。

Unity 脚本的初始化顺序与调整办法

Unity 脚本的初始化顺序与调整办法

3、我们在场景中建立四个对象,分别给他们添加脚本1/2/3/4.运行结果如图。我们发现的是,所有的Awake都明显早于Start被执行。看时间明显是两批。

Unity 脚本的初始化顺序与调整办法

Unity 脚本的初始化顺序与调整办法

4、然后我们把四个脚本都添加到Cube一个物体上,去除其它物体上的脚本。执行结果毫无变化。

Unity 脚本的初始化顺序与调整办法

Unity 脚本的初始化顺序与调整办法

5、现在我们给Cube和Sphere都添加1/2/3/4四个脚本。添加显示游戏物体的代码。执行结果如图。图中说明,在没有指定顺序时,总是先把一个游戏物体上的所有脚本初始化完成,然后再到另一个游戏物体上。

Unity 脚本的初始化顺序与调整办法

Unity 脚本的初始化顺序与调整办法

6、我们龅歧仲半打开Edit->ProjectSettings->ScriptExecutionOrder,然后点击加号把四个脚本拎枋辏话都添加进来。然后可以通过上下拖动的方式,或者手动修改右边数值的方式改变他们的先后次序。

Unity 脚本的初始化顺序与调整办法

Unity 脚本的初始化顺序与调整办法

7、单击Apply按钮。再次运行结果如图。这说明螅岔出礤在强制脚本的执行顺序以后,Unity不再按照一个游戏物体一个游戏物体的顺序了,而是先初始化不同物体上所有的脚本1,再初始化所有的脚本2缕计瓤账...这样,一些脚本初始化的相互依赖关系就可以得到较好的解决。

Unity 脚本的初始化顺序与调整办法

© 一点知识