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 脚本的初始化顺序与调整办法

AxureRP如何为中继器添加列单元 如何获取系统的字体?C#获取系统字体并查看样式 地毯与地板的优劣势对比 怎样安装psp插件 SQL Server2008如何创建视图
热门搜索
走你图片 菊花的图片大全 葫芦兄弟动漫 画画教程动漫人物 四大凶兽图片