主要的调整就是将HelloWorldScene改成了MainSecne,然后将Player作为了MainScene的私有成员变量来处理.修改了人物图片,使用了网上找到的三国战纪的人物素材代替我之前画的很差劲的人物素材.是gif动画,下载了之后用photeshop分解成了一个个png图片.然后在window下用破解的TexturePacker生成了role.plist和role.png文件.改动后的代码还增加了移动的部分.MainScene.cpp部分代码: _listener_touch = E…
经过一段时间的学习cocos2dx,接下来我想要实践开发一个小游戏,我把它命名为“欢欢英雄传说”,项目名将取为HuanHero.环境:cocos2dx环境:cocos2d-x 3.11.1IDE:Code::Blocks 16.01项目类型:cpp项目首先创建一个项目:进入cocos2dx目录,输入: cocos new HuanHero -l cpp -d ./projects/ 这样便在projects目录下新建了一个项目"HuanHero".进入./projects/HuanHe…
接下来需要导入精灵帧资源,因为之前下载了TexturePacker,然后通过TexturePacker的"Publish sprite sheet"方法可以生成一个.pvr.ccz文件和一个.plist文件,但是我试用版生成的.pvr.ccz文件里面是加码的,所以我决定这里还是先通过一张图片一张图片添加的方式把图片资源加入到SpriteFrameCache当中.附:原来添加plist的方式是继续在init函数中加入: SpriteFrameCache::getInstance()-&g…
接下来添加攻击按钮用于执行攻击动作.同时修复了上一版移动时的bug.修复后的Player::walkTo()函数: void Player::walkTo(Vec2 dest) { if (_seq) this->stopAction(_seq); auto curPos = this->getPosition(); if (curPos.x > dest.x) this->setFlippedX(true); else this->setFlippedX(false); a…
添加完人物之后接着给人物添加上动作.我们为hero添加4个动作:attack(由3张图片构成),walk(由2张图片构成),hit(由1张图片构成),dead(由1张图片构成):同样,为enemy添加4个动作:attack(由3张图片构成),walk(由2张图片构成),hit(由1张图片构成),dead(由1张图片构成).取名分别为:hero-attack-0.png,hero-attack-1.png,hero-attack-2.png,hero-walk-0.png,hero-walk-1.…
这里主要为敌人添加了一个移动动作和攻击动作.移动动作是很简略的我动他也动的方式.攻击动作是很简单的我打他也打的方式.效果:代码: #ifndef __Progress__ #define __Progress__ #include "cocos2d.h" USING_NS_CC; class Progress : public Sprite { public: bool init(const char* background, const char* fillname); /* the…
用一个空血槽图片的Sprite做背景,上面放一个ProgressTimer, 通过设置ProgressTimer的进度来控制血条的长短.建立一个Progress类来实现.Progress.h: #ifndef __Progress__ #define __Progress__ #include "cocos2d.h" USING_NS_CC; class Progress : public Sprite { public: bool init(const char* backgroun…
一.触摸事件 为了处理屏幕触摸事件,Cocos2d-x 提供了非常方便.灵活的支持.在深入研究 Cocos2d-x 的触摸事件分发机制之前,我们利用 CCLayer 已经封装好的触摸接口来实现对简单的触摸事件的响应. (1).使用 CCLayer 响应触摸事件 为了处理屏幕输入事件,最简单的解决方案是利用 CCLayer 开启内建的触摸输入支持.在介绍 CCLayer 的时候提到过,它的一个十分重要的作用就是接收输入事件,因此层封装了触摸输入的处理接口.一般情况下,我们可以通过 TouchEna…
time:2015/04/19 1. 描述 * 把studio制作的ui加载之后,动态添加事件(比如说,单点触摸),结果回调函数(eg:onTouchBegan等)根本没有响应! * 另外,网上有朋友也碰到过这个问题,也在网上查到了类似的情况 * 但是,自己觉得按照3.0的cocos引擎的新渲染逻辑应该是可以设置的,而且这个问题也没有理解清楚,所以自己去看了下源码研究了一下,做一下记录,当然能帮到其他人理解就更好了. 2. 学习 (1)直接上代码看结果 /******说明******/ * la…
  Layer其实继承了触控的接口. 所以只需要重写一些函数即可.   在helloword类中重写:     virtual bool init();     /** Callback function for touch began.     *     * @param touch Touch information.     * @param unused_event Event information.     * @return if return false, onTouchMov…