小说网 找小说 无限小说 烟雨红尘 幻想小说 酷文学 深夜书屋

02 2014 档案

cocos2d-x游戏开发系列教程-超级玛丽10-怪物与马里奥冲突检测
摘要:在超级玛丽游戏中,马里奥在移动,怪物也在移动,当他们遇见时,需要判断是马里奥身亡还是怪物身亡。这个判断的代码在怪物类的检测函数实现中。比如蘑菇怪的冲突检测函数:bool CMMonsterMushrooms::OnCollisionMario(){ do { CCNode* pMushroom... 阅读全文

posted @ 2014-02-15 19:59 牛栏山1 阅读(135) 评论(0) 推荐(0)

cocos2dx进阶学习之CCAction
摘要:CCAction在cocos2dx中,抽象了节点的动作。它由CCObject派生,因此它不是渲染节点。它经常的用法是,创建一个action,然后让某个CCNode对象(一般是精灵),去执行它。在马里奥代码里,执行马里奥跳跃的代码如下://增加跳跃运动 CCJumpTo *pJump = CC... 阅读全文

posted @ 2014-02-14 17:22 牛栏山1 阅读(126) 评论(0) 推荐(0)

cocos2dx进阶学习之CCBI文件
摘要:在马里奥这个游戏里,我们用到了几个ccbi文件,比如蘑菇怪,马里奥等,下面是加载马里奥代码从这个代码可以看出,马里奥不是个精灵,是一个CCNode对象,是CCBReader对象从一个文件读出来的CCNode,那mario.ccbi究竟是什么文件呢?ccbi文件是cocosbuilder软件制作的场... 阅读全文

posted @ 2014-02-14 16:22 牛栏山1 阅读(187) 评论(0) 推荐(0)

cocos2d-x游戏开发系列教程-超级玛丽09-怪物激活与移动
摘要:在游戏中,很多怪物本身是会移动的,这里主要有蘑菇怪,乌龟等。说起怪物的移动,首先在游戏里先要考虑怪物的抽象和设计。在CMMonster.h中,有个类CMMonsterBasic,这个类抽象了所有的怪物,具体的怪物都是它的派生类,比如CMMonsterMushrooms蘑菇怪。CMMonsterBa... 阅读全文

posted @ 2014-02-14 15:53 牛栏山1 阅读(232) 评论(0) 推荐(0)

cocos2d-x游戏开发系列教程-超级玛丽08-消息机制
摘要:在超级玛丽游戏里,地图类CMGameMap负责所有的程序逻辑,它包含了背景地图,包含了游戏元素精灵,当游戏中的精灵之间发生碰撞时,比如马里奥撞上砖头这种事情发生时,马里奥对象本身不知道怎么处理这个逻辑,这个时候需要有一个机制,让马里奥通知地图对象,去处理这个游戏逻辑,这种通知机制,在cocos2d... 阅读全文

posted @ 2014-02-13 15:23 牛栏山1 阅读(158) 评论(0) 推荐(0)

cocos2d-x游戏开发系列教程-超级玛丽07-CMGameMap(六)-马里奥跳跃
摘要:当w键按下时,马里奥执行跳跃动作执行跳跃动作也是在MarioMove函数中调用的实际的跳跃则调用了mario对象的OnCtrlJump函数,来看看OnCtrlJump函数吧void CMMario::OnCtrlJump(){ //根据马里奥当前状态 来处理 switch(m_eCurMarioS... 阅读全文

posted @ 2014-02-13 14:09 牛栏山1 阅读(160) 评论(0) 推荐(0)

cocos2d-x游戏开发系列教程-超级玛丽07-CMGameMap(五)-地图卷动
摘要:马里奥在平移的过程中,涉及到地图的卷动问题。在这个游戏里,地图比窗口大,窗口只是显示了地图的一部分,因此马里奥在移动的时候,移动到一定位置之后要卷动地图,否则马里奥移动到窗口右边之后......那结果将会很难看。卷动地图的原理在于,将地图的放在窗口的位置变化下。如下图所示地图在何时卷动呢?这个看我... 阅读全文

posted @ 2014-02-13 13:48 牛栏山1 阅读(139) 评论(0) 推荐(0)

cocos2d-x游戏开发系列教程-超级玛丽07-CMGameMap(四)-马里奥平移
摘要:上一篇博文提到,程序如何获取键盘输入,也就是D键按下,程序获取到前进指令,那么获取到前进指令之后,马里奥是如何前进的呢,这篇文章我们重点讨论这个问题。马里奥的移动,依旧是在帧刷新函数中,这个调用过程上个博文说过,这里不再重复,简单来说就是CMGameScene::OnCallPerFrame调用C... 阅读全文

posted @ 2014-02-13 11:58 牛栏山1 阅读(135) 评论(0) 推荐(0)

cocos2d-x游戏开发系列教程-超级玛丽07-CMGameMap(三)-按键处理
摘要:在地图初始化好了之后,就开始移动马里奥吧,我在windows下,是使用键盘来移动马里奥的w是跳,d是前进,a是后退,那么在程序里是怎么来获取这个按键的呢?普通的windows程序,在按键之后,会有个win32消息发送到应用程序,但是cocos2dx里,没有用这个机制,而是在帧刷新函数中,主动去获取... 阅读全文

posted @ 2014-02-13 11:03 牛栏山1 阅读(166) 评论(0) 推荐(0)

cocos2d-x游戏开发系列教程-超级玛丽07-CMGameMap(二)
摘要:在了解地图的初始化和加载之前,我们先了解下mario的地图。用tiled工具打开mario地图从地图中可以看到,mario的地图有很多层构成:objects层:怪物,会动的怪物coin层:金币trap层:陷阱block层:砖头,砖头有好几种,带问号的,普通砖头,拦路的等等pipe层:水管flagp... 阅读全文

posted @ 2014-02-13 10:29 牛栏山1 阅读(163) 评论(0) 推荐(0)

cocos2dx进阶学习之CCSpriteBatchNode
摘要:继承关系CCSpriteBatchNode -> CCNode, CCTextureProtocol成员变量inline CCTextureAtlas* getTextureAtlas(void)inline void setTextureAtlas(CCTextureAtlas* texture... 阅读全文

posted @ 2014-02-11 23:09 牛栏山1 阅读(198) 评论(0) 推荐(0)

cocos2dx进阶学习之瓦片地图编辑器
摘要:之前学习了瓦片地图类,现在我们来学习下瓦片地图制作工具这个是开源的工具,可以从网上下载,下面我们演示下怎么做地图步骤1将需要用到的图片放到一个目录下,比如我机器上就是d:\tiled,这些图片是基础纹理步骤2打开软件创建一个新的文件步骤3设置格式,我这里没做设置,按照默认继续步骤4将新的tmx地图... 阅读全文

posted @ 2014-02-11 14:14 牛栏山1 阅读(257) 评论(0) 推荐(0)

cocos2dx进阶学习之CCTMXLayer
摘要:继承关系CCTMXLayer -> CCSpriteBatchNodeCCTMXLayer是在瓦片地图中,抽象一个层的类,它继承自CCSpriteBatchNode,也就是说它抽象了一批相同图片的精灵,在瓦片地图中,用层来抽象她们。成员函数CCSprite* tileAt(const CCPoin... 阅读全文

posted @ 2014-02-11 13:43 牛栏山1 阅读(187) 评论(0) 推荐(0)

cocos2dx进阶学习之CCTMXTiledMap
摘要:继承关系CCTMXTiledMap -> CCNode它由CCNode派生,我们已经知道CCNode是cocos2dx的舞台对象的公共父类,所以CCTMXTiledMap也是个舞台对象成员static CCTMXTiledMap* create(const char *tmxFile);通过一个文... 阅读全文

posted @ 2014-02-10 17:04 牛栏山1 阅读(160) 评论(0) 推荐(0)

cocos2d-x游戏开发系列教程-超级玛丽07-CMGameMap
摘要:背景在上一篇博客中,我们提到CMGameScene,但是CMGameScene只是个框架,实际担任游戏逻辑的是CMGameMap类,这个博文就来了解下CMGameMap头文件class CMGameMap : public cocos2d::CCTMXTiledMap ,public CMRece... 阅读全文

posted @ 2014-02-10 16:24 牛栏山1 阅读(145) 评论(0) 推荐(0)

cocos2d-x游戏开发系列教程-超级玛丽06-CMGameScene
摘要:背景在CMMenuScene中,当用户点击开始游戏时,导演让场景进入到CMGameScene头文件class CMGameScene : public cocos2d::CCLayer,public CMReceiver{public: // there's no 'id' in cpp, so ... 阅读全文

posted @ 2014-02-10 15:59 牛栏山1 阅读(168) 评论(0) 推荐(0)

cocos2dx进阶学习之场景切换
摘要:背景在学习马里奥时,我们学习到从菜单场景到游戏场景的切换,代码如下void CMMenuScene::OnStartCallBack( CCObject *pSender ){ CCDirector* pDirector = CCDirector::sharedDirector(); CCScen... 阅读全文

posted @ 2014-02-10 15:00 牛栏山1 阅读(157) 评论(0) 推荐(0)

cocos2d-x游戏开发系列教程-超级玛丽05-CMMenuScene
摘要:代码下载链接http://download.csdn.net/detail/yincheng01/6864893解压密码:c.itcast.cn背景上一篇博文提到appDelegate,在该类的重载函数applicationDidFinishLaunching函数中,程序进入CMMenuScene... 阅读全文

posted @ 2014-02-10 15:00 牛栏山1 阅读(129) 评论(0) 推荐(0)

导航