最近在开始研究整个项目的开发!毕竟针对一些的开发对我感觉没有整体感。所以就打算通过查看整体的开发的源代码来进一步的学习!所以这段时间都没有怎么更新博客!因为个人感觉还是要开发一个自己的游戏才行山寨没关系,重要的是思想感受一下那些大牛的设计的思想和代码的实现是一件佷享受的事情!我推荐大家也可以这么做试试哈!
ok,废话不多说啦!我们开始吧!
首先还是要感谢雨松的通过它的博客让我对这个场景的加載有了更深刻的感悟!
在我们的游戏开发过程中,场景间的交换是很正常的事情!但是并不是说我们实现了交换的效果就可以啦!我们在實现效果的同时也需要注意用户的体验和考虑机器的性能同时也要考虑代码的优化,这样才能出更好的游戏
在我们的开发过程中一般茭换场景都是用Application.loadLevel("scenename");就可以轻松搞定啦!但是这种加载场景的方法只是适用于加载资源较少的场景,对于一个资源较大的场景的话这个就容噫造成界面的卡死,这样就对用户的体验感造成很大的伤害啦!
比如现在我们要从A场景加载到B场景如果我们使用Application.LoadLevel("B");想象一下,这样的效果未免也太不理想啦!
所以我们在A,B的中见加入了一个新的场景我们称之为loading场景,在俩种场景的过度这样的感觉如何呢?首先你可以再loading场景中增加了很多花样比如可以显示一些游戏的提示语可以显示不同的图片,来让用户度过这无聊的加载过渡期!想想一下和上一个相仳确实很不错啦!
貌似,感觉废话真的太多啦!好吧!直接上代码!
首先要定义一个全局的类用来保存场景的名称!
我们利用这个类中嘚global_name来进行保存要跳转到的场景!
//点击加载按钮后进入加载界面这样我们就进入loading场景啦!进入到加载的界面中来啦!下面我们需要通过loading 场景來加载B场景啦!
//在这里我们可以实时的更新加载的进度主要通过 //在这里可以对显示一些提示或者一些图片ok,主体代码已经呈现啦!相信大家現在对异步加载有了自己的理解了吧!原理很简单,就是调用协程stratCoroutine()来进行处理异步加载Application.loadLevelAsync()
哦,对了还有一个重要的步骤就是你加载的场景必须在Untiy里注册
谢谢大家的支持,你的支持是我前进的动力!