今天在编辑代码的时候,遇到一个问题,在脚本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是以一个随机的顺序执行的。我总觉得设置个优先级会好点吧~~~