位置: 编程技术 - 正文
推荐整理分享Cocos2dx 场景自动切换(cocos2dx场景切换),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:cocos2d动画,cocos2d动画,cocos2dx动画,cocos2dx 定时器,cocos场景切换,cocos2dx schedule,cocos2dx 定时器,cocos2dx 定时器,内容如对您有帮助,希望把文章链接给更多的朋友!
最近开始着手开发一个手游,把遇到的一些技术性问题解决方案记录一下。
一般情况我们点开一个游戏的时候,首先会出现展现开发团队的slogan的场景,然后会自动切换到资源加载场景或者菜单。
这样场景的自动切换在cocos2dx中如何实现呢,首先先来说说场景切换的问题。
cocos2dx中有一个大总管Director,由它来管理场景的切换。我们来看看创建新项目后,cocos自动为我们生成的代码,在AppDelegate.cpp中有这样一段:
首先创建了一个HelloWorld的场景对象,然后大总管director调用runWithScene方法来展示这个场景,只有在程序启动调用一个场景时才会使用runWithScene这个方法。切换场景使用的方法是replaceScene,看一个例子:
getInstance()方法获得了一个director的实例,上面那个例子里面的director就是这样的一个实例。在切换场景的过程中还可以添加特效,例如蹦蹦跳跳地切换:
传入的两个参数分别是切换所用时间以及切换到的场景对象。在官方的demo中有很多场景切换特效的例子,如果感兴趣可以一一尝试。
接下来就说一下如何进行自动切换,其实在cocos中说到自动调用什么,大家就都不陌生了,第一时间想到的就是定时器,cocos中的定时器有三种,因为不是本文重点,就不一一介绍着三种了,只说一下用到的一种:
scheduleOnce(schedule_selector(被调用函数),时间)
这是一种只执行一次的定时器,在设置了这种定时器以后,经过设定的时间,就会自动调用schedule_selector中的函数,使用这个定时器,就可以很方便地实现场景的自动切换了。
例如本文一开始提到的展现完开发团队slogan后。自动切换到另一个场景,我们可以在前一个scene的init函数最后设置这个定时器:
使用这个定时器调用切换场景的函数changeScene,这里注意这个函数的参数列表一定要是一个float类型的参数例如:我们在这个函数里面实现切换场景的代码即可:
PS.replaceScene会将原来的场景释放掉,有些时候我们需要原来的场景暂停,在完成新场景后返回,例如在游戏过程中进入设置界面修改一下声音什么的,这时使用replaceScene就不合适了,cocos中进行场景切换还有popScene和pushScene两种方法,我将在后面的blog中进行使用讲解。
AndEngine 《Android游戏开发实践指南》之“吸血鬼游戏”实例学习(一) 购买的《Android游戏开发实践指南》一书用的AndEngine库已经更新过,书上很多代码不适应于AndEngineGLES2。根据书上的步骤通过学习《少女大战吸血》游戏
[置顶] Android休闲射击游戏《疯狂的小小鸟》新版发布啦,错过就是悔过啊 《超级平衡石球》是快开客游戏工作室年新年的第一个游戏作品,是以Unity游戏引擎打造,简单而不失游戏型的重力平衡控制休闲游戏,游戏中你需
[置顶] Android休闲平衡类游戏《超级平衡石球》新游首发啦,错过就是悔过啊! 《超级平衡石球》是快开客游戏工作室年新年的第一个游戏作品,是以Unity游戏引擎打造,简单而不失游戏型的重力平衡控制休闲游戏,游戏中你需
标签: cocos2dx场景切换
本文链接地址:https://www.jiuchutong.com/biancheng/368629.html 转载请保留说明!友情链接: 武汉网站建设