Unity实现一个场景内异步加载另一个场景。
实现的效果:
第一个场景:
异步加载第二个场景:
异步卸载第二个场景:
实现步骤:
首先我们要有2个场景,我以一个普通的3D项目示例:
创建两个场景,分别为00和01
两个按钮,00里面装载01的按钮和01里面卸载01的按钮。
直接上脚本,两个方法:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SceneChange : MonoBehaviour
{
// Start is called before the first frame update
//场景加载
public static void scenediejia(string name)
{
Application.LoadLevelAdditiveAsync(name);
}
//场景卸载
public static void scenexiezai(string name)
{
Application.UnloadLevel(name);
}
}
我为什么要try catch?因为该方法如果加载异常,会一直停在这,大概都理解了吧,结构如下:
将两个场景都放进项目
脚本挂在空物体,按钮调用空物体的脚本的方法这个就不讲了。
运行00的效果
点击装载按钮的效果
点击卸载按钮的效果
over!