在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 < toProgress)
{
displayProgress++;
loadbar.value = displayProgress

本文介绍了在Unity中如何实现进度条平滑加载,特别是针对NGUI系统。由于在Unity中直接使用Update函数可能导致进度条加载不平缓,甚至在达到90%时突然跳转到下一个场景,因此建议使用协程来确保加载过程的平滑过渡。代码示例适用于NGUI,对于其他UI系统可能需要适当调整。
最低0.47元/天 解锁文章
1897

被折叠的 条评论
为什么被折叠?



