using UnityEngine;
using System.Collections;
public class Test : MonoBehaviour
{
public UISlider slider;
AsyncOperation async;
bool flag = false;
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{
if (flag)
{
slider.value = async.progress;
}
}
void OnClick()
{
StartCoroutine(LoadScene());
}
IEnumerator LoadScene()
{
async = Application.LoadLevelAsync("Scene");
yield return async;
flag = true;
}
}
加载场景但不激活
using UnityEngine;
using System.Collections;
public class Test : MonoBehaviour
{
public UISlider progressSlider;
bool flag = false;
AsyncOperation async;
// Use this for initialization
void Start()
{
StartCoroutine(LoadScene());
}
// Update is called once per frame
void Update()
{
if (flag && progressSlider.value!=1)
{
progressSlider.value = async.progress;
}
}
void OnClick()
{
async.allowSceneActivation = true;
}
IEnumerator LoadScene()
{
async = Application.LoadLevelAsync("Scene");
async.allowSceneActivation = false;
flag = true;
yield return async;
}
}
此处有个bug,或许是我做的不对,async.progress最大只能到9。
http://forum.unity3d.com/threads/using-allowsceneactivation.166106/
导出webplayer版发现进入第一个场景后,第二个场景没有预加载,原因是勾选了Streamed。
本文介绍了一个Unity脚本示例,展示了如何使用异步操作来加载游戏场景,并通过UI滑块显示加载进度。此外,还讨论了一个关于加载进度上限的问题及可能的原因。
2286

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



