该 官样 把 SceneManager.LoadSceneAsync
在冠词中
但我直接调用它也很好用。
为什么官方的例子是在coroutine中调用?有什么区别?
解决方案:
当你把它放在coroutine中时,你能够很容易地检查AsyncOperation状态。SceneManager.LoadSceneAsync无论如何都会加载场景,但是如果你想检查场景是否完全加载或者加载了多少百分比(这是你调用LoadSceneAsync的主要原因),你需要检查AsyncOperation状态。
你可以在Update方法中检查它,但使用一个coroutine更有意义,这样你只在加载场景时检查它。你不需要也不希望在Update中每一帧都检查场景是否已经加载,而只是在场景加载的开始时检查。