一个超好用的游戏加载进度条脚本,调用简单
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class LoadSceneHandler : MonoBehaviour {
public Slider processView;
void Start () {
StartLoadGame();
}
public void StartLoadGame()
{
StartCoroutine(StartLoading("targetScene"));
}
public IEnumerator StartLoading(string sceneName)
{
int displayProgress = 0;
int toProgress = 0;
AsyncOperation op = SceneManager.LoadSceneAsync(sceneName);
op.allowSceneActivation = false;
while (op.progress<0.9)
{
toProgress = (int)op.progress * 100;
while (displayProgress<toProgress)
{
displayProgress++;
SetLoadingPercentage(displayProgress);
yield return new WaitForEndOfFrame();
}
}
toProgress = 100;
while (displayProgress < toProgress)
{
displayProgress++;
SetLoadingPercentage(displayProgress);
yield return new WaitForEndOfFrame();
}
op.allowSceneActivation = true;
}
public void SetLoadingPercentage(float v)
{
processView.value = v/100;
}
}
网友评论