Application.LoadLevel():同步加载 Application.LoadLevelAsync():异步加载 Application.LoadLevelAddictive():同步附加加载 Application.LoadLevelAddictiveAsync():异步附加加载
四种方法的简单介绍与分析
1、同步加载:如果当前场景是A,我们要切换到场景B游戏动态,那么Unity在切换场景时会加载场景B中的所有内容(场景B中的所有静态对象,不包括代码中的Instantiate实例化)。 对象)被加载到内存中。 然后销毁A并显示B。
因为加载B是同步完成的(即在一个线程中),当B场景较大时,执行该方法时会感觉卡住。
2、异步加载:这个和第一种情况基本一样。 唯一的区别是加载B的过程是异步的(即加载新场景的行为是在后台线程中执行的unity 异步加载场景,不影响主线程执行),这样加载B时,当前场景A不会受到影响,可以继续执行游戏评测,所以即使场景B很大,也不会感觉卡住。
3、同步附加加载:如果当前场景是Aunity 异步加载场景,我们要加载场景B,那么unity在加载B的时候不会销毁A,也就是说加载完成后A和B会同时存在。 这个适合世界地图比较大的时候。 根据人们去的地方动态加载世界地图的不同部分。 当然,前提是要把世界地图制作成多个不同的场景文件。
4、异步追加加法:这种情况和上一种基本一样。 不同之处仍然是加载B的过程是在后台线程中异步执行的。
注:异步加载最基本的应用是在场景切换时创建转场界面。