场景异步加载显示加载界面

来源:互联网 发布:ipad提示无法加入网络 编辑:程序博客网 时间:2024/05/18 01:36
此方法在当前游戏制作中比较常用
一、创建加载场景管理类

二、创建切换场景脚本,并且创建一个空场景负责显示加载界面,在空场景中创建空游戏组件,添加切换场景脚本
1
using UnityEngine;
2
using System.Collections;
3
using UnityEngine.SceneManagement;
4
public class loadingChange : MonoBehaviour {
5
    private AsyncOperation mAsyncOperation;
6
    void Start()
7
    {
8
        if (LoadingOtherSceneManger.Instance.sceneName!="")
9
        {
10
            StartCoroutine(LoadOtherScene(LoadingOtherSceneManger.Instance.sceneName));
11
        }
12
    }
13
     
14
    IEnumerator LoadOtherScene(string sceneName)
15
    {
16
      
17
        mAsyncOperation = SceneManager.LoadSceneAsync(sceneName);
18
        mAsyncOperation.allowSceneActivation = false;
19
        yield return new WaitForSeconds(1f);
20
        mAsyncOperation.allowSceneActivation = true;
21
    }
22
}
当需要切换场景时,首先同步加载到负责显示加载页面的场景中,然后给上述脚本中的变量赋值

实际运用
1
    void BackScene(GameObject go)
2
    {
3
        SoundManager.Instance.PlaySFX(SOUND_DEFINE.BUTTON_CLICK);
4
        LoadingOtherSceneManger.Instance.sceneName = "main_scene";
5
        SceneManager.LoadScene("loading");
6
    }