cocos2d-x 如何制作一个类马里奥的横版平台动作游戏 1 献给所有对动作游戏有爱的朋友,cocos2d-x一个类

  次阅读 来源:互联网(转载协议) 2015-09-28 14:39 我要评论(0)

cocos2d-x 如何制作一个类马里奥的横版平台动作游戏 1 献给所有对动作游戏有爱的朋友,cocos2d-x一个类

本文翻译自国外著名IOS源码教学商业网站raywenderlich 的IOS

Game Start Kits三件套之一的Platformer Game/平台动作游戏的前奏曲,另一个是Beat'Em up Game/横版格斗游戏,作者是国外著名游戏开发专家Jake

Gundersen,曾参与开发过SFC时代的洛克人X系列。

原文网址:

http://www.raywenderlich.com/15230/how-to-make-a-platform-game-like-super-mario-brothers-part-1

开篇之前先怀旧一番吧!

还记得超级马里奥的青青草地蓝天白云吗?还记得曾让人爱恨交加又不屈不挠让人不忍放弃的洛克人ZERO吗,我们燃起小宇宙一招龙炎刃击败最终Boss的场面是曾多么热血澎湃!这些感动一代人的游戏陪伴了我们80后儿时整整一个时代。横版平台动作游戏,作为FC时代最早的游戏类型,以美丽精致的游戏画面,曲折有趣的关卡设计,丰富流畅的动作设定深深地俘获住了众玩家的芳心,让玩家过足了在游戏世界里冒险探索的瘾。这个悬崖怎么跳过去?这个机关怎么破解?这个洞里是不是还有隐藏宝物?下一关是啥样的?最终Boss到底是谁该怎么打?无数的问题让玩家欲罢不能。现在IOS时代这种游戏的光环已经渐渐褪散了,代之以没剧情没关卡只有背景无限滚动的无脑跑酷模式。这样的快餐游戏我已经不想再说什么了,一句话,任何所谓的创新类型都无法超越经典,大家是不是已经燃起想学习的Cosmos了?那么请看下面吧!

本教程所需要的美术资源:resources 源码见文章未尾

创建一个简单易用的2D物理引擎:

并非所有的2D游戏都需要像小鸟那样复杂的物理引擎,如超级马里奥,洛克人索尼克这种其实只需要着重模拟重力环境和平台碰撞,以及行走时的动力和摩擦力即可,关键一点就是能模拟运动,即在重力环境下的走,跑,跳和下落,模拟的好的话动作会非常流畅和自然,否则就非常生硬,此外就是碰撞检测。

我们的主角是一只可爱的考拉(树袋熊),在你下面要实现的简单物理引擎里,你的考拉有这几个物理变量:当前速度(velocity),运动加速度(acceleration)和当前位置(position)以及其他。你将利用这些变量实现下面的算法:

1.玩家启用了跳跃和和移动操作了吗?

2.如果是就给考拉一个跳跃或移动的力

3.同时时刻不停地给考拉加以重力

4.计算出各种力作用下的考拉速度

5.根据计算出的速度计算出考拉当前位置,并更新

6.检查考拉与墙和地等其他物体的碰撞

7.如果发生了碰撞,就通过将考拉移回碰撞发生前的位置来解决,直至碰撞不再发生,如果与怪物发生了碰撞,则可怜的考拉要承受伤害

你在每帧都要做这些操作,在游戏世界里,重力是一直都稳定存在的把考拉向下拉向地面,但是在碰撞解决步骤里又会把考拉向上推至地面顶。

加载TMXTiledMap:假设大家对Tiled map editor工具已经非常熟悉,让我们打开下载的资源目录里的level1.tmx,就会看到:你会发现地图有三个层,分别是:

hazards: 这个层包含了一些objects我们的小考拉碰到了就会受伤-_-

walls:本层包含的tiles是考拉不能穿过的,也就是墙壁,地面这些物体

background: 本层是背景图,只是些装饰用的,如山呀云呀树之类,不会起到碰撞反应

终于可以coding了,让我们先建立一个GameLevelLayer的类,就是游戏层啦,具体代码我就不全贴了,可以参考源码,头文件类似这个样子:class GameLevelLayer : public cocos2d::CCLayer

{

public:

GameLevelLayer(void);

~GameLevelLayer(void);

CREATE_FUNC(GameLevelLayer);

bool init();

static cocos2d::CCScene* scene();

protected:

cocos2d::CCTMXTiledMap *map;

};下面我们在init里加入地图,如下://加载一个蓝色背景当装饰

本站部分文章来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • Michael I. Jordan带你解读百万奖金ATEC蚂蚁人工智能大赛

    Michael I. Jordan带你解读百万奖金ATEC蚂蚁人工智能大赛

  • Oculus公布原型机,大幅度提升可视角,能实现140°的视场水平

    Oculus公布原型机,大幅度提升可视角,能实现140°的视场水平

  • teamLab创始人猪子寿之: 抛去衣食住行,我还剩下什么?

    teamLab创始人猪子寿之: 抛去衣食住行,我还剩下什么?

  • 2018深圳国际人工智能展览会 2018 shenzhen International Artif

    2018深圳国际人工智能展览会 2018 shenzhen International Artif

网友点评网友点评
阅读推荐阅读推荐

据外媒报道,STEER打造了首款完全自动驾驶停车技术,旨在使常规车辆转变为无人驾驶车辆。STEER的首款技术应用是4级自动驾驶及网络安全停车...

近日,美国软性机器抓手制造商 Soft Robotics 宣布,获得 2000 万美元的融资,本轮投资者包括 Scale Venture Partners,Calibrate Ventures...

据外媒报道,加州车管局发布了《2017自动驾驶脱离报告(California Autonomous Vehicle Disengagement Reports)》,其中谈及了脱离的具体...

用人机语音交互,来解决智能家居适老的问题;通过家庭门禁与安防套件、空气净化套件、可燃气体与有害气体监控套件等相互联动,在不同生活情...