之前因为没有好好的看一看官方文档,所以掉进了深坑里,回头看看并记录一些零碎的坑。
- 首先要区分加载(Load)和活性(Active)
加载场景到游戏中,并不代表该场景具有活性
SceneManager.LoadScene("YourScene", LoadSceneMode.Single);
一般使用该方法时默认是LoadSceneMode.Single,这个值的意思是关闭掉所有场景之后,再进行加载,那加载的场景必定是Active的,另外一个值:LoadSceneMode.Additive,顾名思义:附加,意思是将指定场景从buildingSetting加载到内存(应该是。。。),只是附加,所以不会切换当前Active的场景,如果要将指定场景设置为Active,需要用到方法:SetActiveScene。这点在SetActiveScene有详细说明。
- 异步加载中的返回值类型 AsyncOperation
allowSceneActivation
When allowSceneActivation is set to false then progress is stopped at 0.9!!!天杀的0.9!!!
该变量来控制场景加载后的active,如果是设置为false,加载的进度会卡在0.9。
已经检测过,如果是以Additive加载的时候,即使设置为true,最后活性的场景依旧是之前的场景。
以上是关于对SceneManager的记录。