在Unity中两个场景之间的过度,为了显得不唐突,常常在期间加入第三个场景,显示进度条的过度动画,如:
private AsyncOperation async;
async.progress;
private AsyncOperation async;
async.progress;
判定是否到达100%,But,Unty中progress到90%便会停止直接跳入C场景,加上如若写在Update函数中,会出现进度条的跳跃,所以为了平缓的过度必须使用到协同,该篇代码适用的是NGUI,其他则需稍微修改即可
using UnityEngine;
using System.Collections;
public class LoadingManager : MonoBehaviour {
public UIProgressBar loadbar;
private AsyncOperation async;
void Start()
{
StartCoroutine(loadScene());
}
IEnumerator loadScene()
{
float displayProgress = 0;
float toProgress = 0;
async = Application.LoadLevelAsync("1"); //Loading Scene Name
async.allowSceneActivation = false;
while(async.progress < 0.9f)
{
toProgress = 90;
while(displayProgress &l