标签:
在切换场景的时候,直接 用 application.LoadLevel()这个方法,如果加载的场景资源过多的话,会卡死一段时间的.
所以,用一个过渡的场景的话,体验会好一点.
那么就先开始做一个过渡的场景(名字叫做:Loading)吧..(比如像下面酱紫,百度的一张图片)
要切换场景的时候,Application.LoadLevel("Loading");就先切换到这个Loading场景,Loading场景资源少,就一个背景图和一个slider,所以,直接同步加载过来也很快的
然后,在Loading场景里写上这个脚本.
1 public class Loading : MonoBehaviour { 2 AsyncOperation asyncOperation; //异步变量 3 public GameObject slider; //进度条 4 public GameObject Text; //进度条上的文本 5 //对以上变量进行初始化 6 void Start() 7 { 10 Text.GetComponent<Text>().text = "0"; 11 progress.GetComponent<Image>().fillAmount = 0f; 12 DontDestroyOnLoad(gameObject); 13 StartCoroutine(loadScene()); //开启异步任务,进入loadScene方法 14 } 15 void Update() 16 { 17 Text.GetComponent<Text>().text = (float)asyncOperation.progress*100+10+"%"; //文本更新异步进度 18 progress.GetComponent<Image>().fillAmount = (float)asyncOperation.progress+.1f;//进度条更新异步进度 19 } 20 IEnumerator loadScene() 21 { 22 yield return asyncOperation = Application.LoadLevelAsync(2);//读取完毕自动进入下一个场景 23 } 24 25 }
标签:
原文地址:http://www.cnblogs.com/gzmumu/p/4823606.html