首页 > 代码库 > Unity 异步加载场景
Unity 异步加载场景
效果图如下:
今天一直在纠结如何加载场景,中间有加载画面和加载完毕的效果动画!
A 场景到 B , 看见网上的做法都是 A –> C –> B。 C场景主要用于异步加载B 和 播放一些加载场景的动画
AsyncOperation op = Application.LoadLevelAsync("C"); 异步加载C场景
op.allowSceneActivation = false; 加载完毕之后不自动跳转到B场景(在加载结束的时候,就可以播放一些加载完毕的动画) 播放完动画时候
op.allowSceneActivation = true; 就能进入B场景了O(∩_∩)O~
op.progress; 获取异步加载场景实际的进度值(0-1)
using UnityEngine;using System.Collections;public class LoadSceneB : MonoBehaviour { public UISlider slider; //进度条 void Start () { LoadGame(); } public void LoadGame() { StartCoroutine(StartLoading("C")); } public IEnumerator StartLoading(string sceneName) { AsyncOperation op = Application.LoadLevelAsync(sceneName); op.allowSceneActivation = false; /* 实际根据场景加载的进度,来显示进度 while(op.progress < 0.9f) { slider.value = http://www.mamicode.com/op.progress; //实际加载场景的进度值显示在Slider里面>*/ //由于C场景只有一张图加载太快了,以下代码就模拟下加载 for (int i = 0; i < 100; i++) { slider.value = i / 100f; yield return new WaitForSeconds(0.01f); } slider.value = 1; yield return new WaitForEndOfFrame(); op.allowSceneActivation = true; }}
Unity 异步加载场景
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。