教程实例游戏的学习实现《Little Runner》

教程实例游戏的学习实现《Little Runner》

ID:39497284

大小:30.50 KB

页数:4页

时间:2019-07-04

教程实例游戏的学习实现《Little Runner》_第1页
教程实例游戏的学习实现《Little Runner》_第2页
教程实例游戏的学习实现《Little Runner》_第3页
教程实例游戏的学习实现《Little Runner》_第4页
资源描述:

《教程实例游戏的学习实现《Little Runner》》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、教程实例游戏的学习实现《LittleRunner》项目功能简单的跑酷游戏,主角一直向前跑。跑动过程中有很多的硬币飞向主角,主角被硬币打中会扣血,并带有受伤动作。按下屏幕上的jump按钮主角可以向上弹跳来躲开硬币。运用到的主要技术运用cocos2D-x-3.1游戏引擎,C++语言开发。游戏包含以下开发要点:·游戏图层的创建及游戏场景的创建新建自己的类(如HelloWorld)并公有继承Layer类,创建scene()函数,用宏CREATE_FUNC(_TYPE_)定义create()函数。在scene()函数中通过Scene

2、::create()新建一个场景类。通过HelloWorld::create()创建新的游戏图层对象。通过addchild()函数将图层对象添加到场景中。·场景的切换·在按钮回调函数中通过Director::shareDirector()函数取得控制游戏的导演类,并通过调用导演类中的replaceScene()函数达到取代当前的场景的效果。并且可以通过CCTranSition系列及其他的类中调用特殊的create()函数来添加场景切换的特殊效果。·可以通过调用导演类中的pushscene()函数使新的场景覆盖当前的场景而非

3、替换场景,可以保持原场景的进度,菜单效果可以通过这个方法达到,并且避免了重新生成复杂场景的弊端。·引入声音文件在init()调用CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic()函数,在函数参数中写出背景音乐的文件名以及true就可以播放背景音乐。而调用playEffect()函数可以为游戏添加较短的声音效果。此外SimpleAudioEngine类还提供了很多功能如预加载文件、暂停播放、恢复播放、停止播放、卸载音乐文件等。·游戏精

4、灵的创建以及编辑Sprite类代表精灵对象。场景中的会动的物体都是精灵。在图层类的初始化函数中通过Sprite::create()函数创建精灵sprite,并可以通过在create函数中引用外部图片来为精灵定制外形。通过sprite->setposition()函数来将精灵添加到图层中的某个位置,精灵即可在图层中显示。并且可以通过sprite对象中的各种函数来对精灵进行放大、缩小、拉伸、压缩、旋转、改变颜色等等的功能。·创建游戏菜单通过MenuItemImage和MenuItemLabel的create可以创建图片菜单项和

5、标签菜单项,在create函数的参数中可以设置菜单项的正常状态和点击状态,并且可以设置释放鼠标时菜单项回调的函数。可以用菜单类里的alignItemsVertically()函数让所有的菜单项在垂直方向上自动排列,然后用setPosition函数设置菜单的位置然后将其作为child添加到图层里,菜单就能在游戏中显示了。·游戏精灵的运动及变形·通过moveTo::create(0.9f,ccp(250,150))函数可以创建动作。第一个参数为浮点类型代表动作执行持续时间,单位为秒,第二个参数为指定要移动的目标坐标。moveB

6、y函数用法与moveTo相同,不过第二个参数代表的是运动的方向及距离。最后调用精灵对象中的runAction函数在参数中调用运动就能完成精灵对动作的执行。·scaleTo和ScaleBy两个对象可以创建变形动作,调用它们的create函数并输入三个参数,分别为动作持续时间,x方向拉伸倍数和y方向拉伸倍数。两个函数的不同之处在于无论当前精灵是否经过变形,scaleTo函数都会在原图片的大小基础上进行变形,而scaleBy则是在当前精灵的基础上进行变形。·BezierTo和BezierBy两个对象可以控制精灵进行复杂线路的运动

7、。声明BezierConfig类型的biezier对象。用不同的ccp(,)位置给bezier.controlPoint_1(波谷偏向值)和bezier.controlPoint_1(波峰偏向值)还有bezier.endPosition(动作终点)赋值,即能创建一条贝塞尔曲线对象。BezierTO::create()函数的两个参数分别为运动持续时间和贝赛尔曲线运动轨迹。最后让精灵对象runAction这个运动即可。两个函数的不同之处在于绘制的曲线的波峰波谷和终止位置是不同的,但是起始位置是相通的。·地图的无限滚动在界面类中

8、继承update函数。建立两个相同的背景画面对象并且设置第二个的位置为第一个背景图片的结束位置。修改update函数的的定义,在函数中获取两张图片的位置,并且用setPosition函数将两张图片的位置向左移动相同的距离。游戏运行时每一帧都会调用update函数,如此即可达到两张地图一起滚动的效果。然后

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。