Slider在Unity中的用法有许多,我们可以用它来调节音量大小、制作加载场景的进度条及角色的血量条等,本文章我们来学习一下第二个功能吧~(ps:第一个功能可以在前面分享过的文章中学习)
Slider异步加载进度条
1.在项目中创建两个场景,一个是加载场景,命名为“loadscene”,另一个是主场景,命名为”mainscene“;
2.在加载场景的【Hierarchy】中右键添加“Slider”与”Text“(用于显示加载的进度百分比数字);
3.根据自己的需求调整“Slider”的长度与大小,将“Slider”下的“Handle Slide Area”删除(可根据自己需求决定是否保留),接着按照下图进行三个数值的调整,都改为0;
4.在加载场景的【Hierarchy】中右键添加一个空物体,可命名为”SceneManager“,接着新建一个脚本文件,并将该脚本拉到此空物体下;
5.编写脚本(注意:需要添加”using UnityEngine.UI“和”using UnityEngine.SceneManagement"两个命名空间)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class loadscenelevel : MonoBehaviour
{
public Slider slider;
public Text text;
void Start()
{
StartCoroutine(Loadscene());
}
IEnumerator Loadscene()
{
AsyncOperation operation = SceneManager.LoadSceneAsync("mainscene");
operation.allowSceneActivation = false;
while (!operation.isDone)
{
slider.value = operation.progress;
text.text = "努力加载中..." + operation.progress * 100 + "%";
if (operation.progress >= 0.9f)
{
slider.value = 1;
operation.allowSceneActivation = true;
}
yield return null;
}
}
}
6.在Unity编辑器的菜单栏上选中“File”→“Build Settings”,将两个场景按照出场顺序拖上去;
到这里,加载进度条的功能就可以顺利实现啦~