您的位置:首页 > 移动开发 > Unity3D

Unity中多个C#脚本中的Awake执行顺序

2017-10-12 16:35 495 查看
今天在编辑代码的时候,遇到一个问题,在脚本1中我使用了单例模

式,这是方便在另外一个脚本中访问本脚本中的一个public变量。其中

Instace是在Awake赋值的,Instane=this。在脚本2中通过,Instace访

问脚本1的public变量。脚本2中创建了一个临时变量为了存储脚本1中的

这个变量。在Awake中将脚本1的变量赋值给脚本2(我在脚本1中对这个

变量进行了初始化),但是运行老是报空指针(并不是没有编译)。而是

因为脚本2中的Awake先于脚本1的Awake执行。

于是,我就去查了一下多个Awake执行顺序。网上好像并没有相关的。于

是,我就翻到了Unity官方文档里关于Awake的一句话!!!!

Each GameObject's Awake is called in a random order between objects!!!!
It's just a random execution!!!oh shit~

当多个Awake在多个对象上的时候,Awake是以一个随机的顺序执行的。我总觉得设置个优先级会好点吧~~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  unity