我在Unity文档中读到了这个:
加载脚本实例时会调用Awake.
唤醒用于在游戏开始之前初始化任何变量或游戏状态.
这不矛盾吗?是在启动游戏时调用Awake()函数,还是在加载脚本的场景时调用它?
如果你理解Unity3D 中事件的执行顺序,那不是真的.
游戏可以包含单个场景或多个场景.
因此,如果加载了一个场景,则序列为:
Awake()
- 非常适合初始化变量.还要考虑a GameObject
启动时是否处于非活动状态唤醒,在该对象激活之前,不会调用它的唤醒方法(感谢@Everts).
Start()
- 启动核心游戏逻辑,因为所有其他Awake()
活动方法GameObject
都被调用.
第一次Update()
通话等等......
你要澄清的是这个词:
..before的游戏开始 ..
这意味着,在游戏逻辑开始之前.