unity UGUI 异步加载进度条

8 篇文章 0 订阅
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class Loading : MonoBehaviour {

	public Text loadText;
	public Slider loadSlider;
	private AsyncOperation _asyncOperation;
	// Use this for initialization
	void Start () {
		StartCoroutine (StartLoad ("2"));
	}
	void Update()
	{
	}
	IEnumerator StartLoad(string sceneName)
	{
		int currentProgress = 0;  
		//目标进度  
		int targetProgress = 0;  
		_asyncOperation = Application.LoadLevelAsync(sceneName);  
		//unity 加载90%  
		_asyncOperation.allowSceneActivation = false;  
		while (_asyncOperation.progress<0.9f)  
		{  
			targetProgress = (int) _asyncOperation.progress*100;  
			//平滑过渡  
			while (currentProgress<targetProgress)  
			{  
				++currentProgress;  
				yield return new WaitForEndOfFrame();  
			}  
		}  
		//自行加载剩余的10%  
		targetProgress = 100;  
		while (currentProgress < targetProgress)  
		{  
			++currentProgress;  
			loadText.text = string.Format("{0}{1}", currentProgress.ToString(), "%");  
			loadSlider.value = (float)currentProgress / 100;  
			yield return new WaitForEndOfFrame();  
		}  
		_asyncOperation.allowSceneActivation = true;
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值