GameScene类虽然是占用游戏最多时间的类,但是里面的东西不是很多,最重要的就是碰撞检测了,碰撞检测代码如下: void GameScene::detectionCrash() { CCArray* bulletsToDelete = CCArray::create();//创建一个CCArray,用以存放待删除的子弹,也就是此帧中被检测到碰撞的子弹  bulletsToDelete->retain();//必须调用retain,CCArray内部调用了autoRelease CCObjec…
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…
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…
BulletLayer.h 内容如下 class BulletLayer : public cocos2d::CCLayer { public: CC_SYNTHESIZE(bool, m_IsHeroLive, IsHeroLive);//hero活着的时候才发射子弹... CCArray *m_bullets;//存储发射的子弹 CCNode* pParent;//在类初始化的时候会把Hero赋给它他,因为子弹要根据hero来确定发射的位置 CCSpriteBatchNode* batchN…
最近在学习cocos2dx引擎,版本是2.1.3,开发环境是win7 + vs2010,模仿微信打飞机游戏,开发中参考了 csdn 偶尔e网事 的系列文章:http://blog.csdn.net/column/details/jackyairplane.html. 项目结构如下 红色框的表示场景,主要用到四个场景: MainMenuScene表示主场景,也就只是提供三个标签:开始游戏,退出,设置: LoadingScene 表示加载场景,把一些图片.声音资源和一些动画提前做好预先加载到缓存里:…
各种回调函数的定义: 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…
在上一节里,在头文件看到 定义了一个 CCSpriteBatchNode* batchNode;,在addEnemy方法里看到 batchNode->addChild(enemy); 新建的敌机不是add到layer上,而是add到 CCSpriteBatchNode 上,关于 CCSpriteBatchNode 的了解这里不多说,网上大把,下面说说 CCSpriteBatchNode 在这里的应用. 1.通过 CCSpriteFrameCache::sharedSpriteFrameCache…
一.类: 1. 面向对象. 2. 定义了新的对象类型. 定义了两个属性:name,pay 定义了两个方法:lastName,giveRaise…
接口的实现 <?php //interface 关键字用于定义一个接口 interface ICanEat{ //接口里面的方法不需要实现 public function eat($food); } //implements关键字用于类实现某个接口 class Human implements ICanEat{ //实现了接口后,必须提供接口中方法的具体实现 public function eat($food){ echo "Human eating".$food; } } ?&…
Python与java.c++等都被视为一种面向对象的语言.通过创建自定义类,用于处理各种业务逻辑.面向对象有封装.继承.多态三个特征,这也是面子对象语言的通用特征. 1 封装 封装,是值向外部隐藏内部不必要的具体实现. 2 继承 继承,是值通过一次创建类,而以后再次创建的类与该类的方法有重合的,可以使用继承,这样就避免了再次编写,减少了代码的冗余.python支持多继承. 3 多态 多态,值能够同样的对不同的类型的对象调用相同的方法. 4 类 类,表示一组对象,每个对象都属于特定的类.如果一个…