首页 > 其他 > 详细

异步加载场景和Loading进度条制作

时间:2015-09-20 17:26:42      阅读:255      评论:0      收藏:0      [点我收藏+]

在切换场景的时候,直接 用 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 }

 

技术分享

异步加载场景和Loading进度条制作

原文:http://www.cnblogs.com/gzmumu/p/4823606.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!