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

此方法在当前游戏制作中比较常用
一、创建加载场景管理类

1
using System.Collections;
2
using mokak;
3
public class LoadingOtherSceneManger :Singleton<LoadingOtherSceneManger>
4
{
5
    public string sceneName = "";
6
}
二、创建切换场景脚本,并且创建一个空场景负责显示加载界面,在空场景中创建空游戏组件,添加切换场景脚本
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
    }

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值