淘先锋技术网

首页 1 2 3 4 5 6 7

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!