在上一节里,在头文件看到 定义了一个 CCSpriteBatchNode* batchNode;,在addEnemy方法里看到 batchNode->addChild(enemy); 新建的敌机不是add到layer上,而是add到 CCSpriteBatchNode 上,关于 CCSpriteBatchNode 的了解这里不多说,网上大把,下面说说 CCSpriteBatchNode 在这里的应用. 1.通过 CCSpriteFrameCache::sharedSpriteFrameCache…
最近在学习cocos2dx引擎,版本是2.1.3,开发环境是win7 + vs2010,模仿微信打飞机游戏,开发中参考了 csdn 偶尔e网事 的系列文章:http://blog.csdn.net/column/details/jackyairplane.html. 项目结构如下 红色框的表示场景,主要用到四个场景: MainMenuScene表示主场景,也就只是提供三个标签:开始游戏,退出,设置: LoadingScene 表示加载场景,把一些图片.声音资源和一些动画提前做好预先加载到缓存里:…
Enemy类没什么内容,就create和init方法,根据参数来创建不同的敌机,头文件代码如下: //飞机的类型 enum planeType {smallPlane, midPlane, bigPlane}; class Enemy : public CCSprite { public: void loseLife(); CC_SYNTHESIZE(float, m_speed, Speed); CC_SYNTHESIZE(int, m_life, Life); CC_SYNTHESIZE(i…
HeroLayer类主要是处理hero的一些相关东西,以及调用bulletLayer的一些方法,因为子弹是附属于hero的~~ HeroLayer 类的成员如下: class HeroLayer : public CCLayer { public: static HeroLayer* create(); virtual bool init(); virtual void ccTouchesMoved(CCSet *pTouches, CCEvent *pEvent);//触摸事件 void mo…
各种回调函数的定义: typedef void (CCObject::*SEL_SCHEDULE)(float); typedef void (CCObject::*SEL_CallFunc)(); typedef void (CCObject::*SEL_CallFuncN)(CCNode*); typedef void (CCObject::*SEL_CallFuncND)(CCNode*, void*); typedef void (CCObject::*SEL_CallFuncO)(CC…
GameScene类虽然是占用游戏最多时间的类,但是里面的东西不是很多,最重要的就是碰撞检测了,碰撞检测代码如下: void GameScene::detectionCrash() { CCArray* bulletsToDelete = CCArray::create();//创建一个CCArray,用以存放待删除的子弹,也就是此帧中被检测到碰撞的子弹  bulletsToDelete->retain();//必须调用retain,CCArray内部调用了autoRelease CCObjec…
BulletLayer.h 内容如下 class BulletLayer : public cocos2d::CCLayer { public: CC_SYNTHESIZE(bool, m_IsHeroLive, IsHeroLive);//hero活着的时候才发射子弹... CCArray *m_bullets;//存储发射的子弹 CCNode* pParent;//在类初始化的时候会把Hero赋给它他,因为子弹要根据hero来确定发射的位置 CCSpriteBatchNode* batchN…
1.1.1  抽象工厂封装数据操作类实例创建,然后DBSession调用抽象工厂,修改DBSession CZBK.ItcastOA.DALFactory数据会话层调数据层不能直接new,要封装一下解耦 1.2.1 CZBK.ItcastOA.DALFactory 新增抽象工厂类  AbstractFactory 1.2.2 Web.config中配置一下配置信息(数据层的程序集和命名空间) <!--配置程序集名称和命名空间名称--> <add key="AssemblyPat…
1          创建lua打飞机项目 cocos new T32Lua -dE:\Installed\cocos2d-x-3.2\cocos2d-x-3.2\projects -l lua 2  项目代码 Common.lua --用于打印日志信息 function cclog(...) print(string.format(...)) end function createBackMenu(node, callback) -- 获得窗口的大小 local winSize = cc.Di…
懒骨头(http://blog.csdn.net/iamlazybone QQ:124774397 ) 写下这些东西的同时 旁边放了两部电影 周星驰的<还魂夜> 甄子丹的<特殊身份> 骨头听着电影读代码 别有一番风味 接上篇,今天继续看一下这个demo. -------------------------------------------------------------------------------------------------------------------…