using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine. SceneManagement;
using UnityEngine.U2D;
using UnityEngine. UI;
public class UIManager : MonoBehaviour
{
public Button IntoBtn;
public slider slider;
public Text text;
Asyncoperationm_ao;//场景引用
private void Start()
{
IntoBtn.onClick.AddListener(() =>
StartCoroutine(Load());//开启携程
});
}
IEnumerator Load()
{
intstartPro=0;//当前加载数据
intendPro=100;//总数据
m_ao = SceneManager.LoadSceneAsync("GameScene");
m_ao.allowsceneActivation = false;//场景不跳转
while(startPro<endPro)
{
startPro++;
//进度条++
SetProcess(startPro);
yield return newWaitForSeconds(0.03f);
}
if(startPro >= endPro)
{
StopCoroutine(Load());//停止携程
m_ao.allowSceneActivation=true;//场景跳转
}
}
private void SetProcess(int startPro)
{
slider.value = startPro;
text.text = startPro +"%";
}
}
注意:这里要将Slider的MaxValue调成100。具体如下图:
这时,将你要跳转的创建拖到File-Building Seetings中即可运行。