Unity场景加载进度条优化
1. 场景进度条优化
Du先生开发游戏
**为了增加游戏体验,我在日常会对进度条进行优化。通常通过异步的方式加载场景,从而获取场景进度。为了增加游戏体验,会使用两个变量一个变量接受场景的实际加载进度,另外一个用来接受UI显示进度。使用显示进度向实际进度靠近的方式显示进度条。主要代码如下:
public Slider slider_loader;
private void Start()
{
StartCoroutine(LoadSliderSync("Main"));
}
private IEnumerator LoadSliderSync(string sceneName)
{
int dispayProject = 0;
int toProject = 0;
AsyncOperation async = SceneManager.LoadSceneAsync(sceneName);
async.allowSceneActivation = false;
if (async.progress < 0.9)
{
toProject = (int)async.progress * 100;
while(dispayProject < toProject)
{
++dispayProject;
SetLoadSlide(dispayProject);
yield return new WaitForEndOfFrame();
}
}
toProject = 100;
while(dispayProject<toProject)
{
++dispayProject;
SetLoadSlide(dispayProject);
yield return new WaitForEndOfFrame();
}
async.allowSceneActivation = true;
}
private void SetLoadSlide(float prg)
{
slider_loader.value = prg / 100;
}**