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 表示加载场景,把一些图片.声音资源和一些动画提前做好预先加载到缓存里:…
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…
GameScene类虽然是占用游戏最多时间的类,但是里面的东西不是很多,最重要的就是碰撞检测了,碰撞检测代码如下: void GameScene::detectionCrash() { CCArray* bulletsToDelete = CCArray::create();//创建一个CCArray,用以存放待删除的子弹,也就是此帧中被检测到碰撞的子弹  bulletsToDelete->retain();//必须调用retain,CCArray内部调用了autoRelease CCObjec…
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…
各种回调函数的定义: 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…
在正式开始实现ORM之前还有一点准备工作需要完成,第一是实现一个配置类,这个很简单的就是通过静态变量来保存数据库的一些连接信息,等同于.net项目中的web.config的功能:第二需要设计实现一个sql语句的生成类来帮助生成sql语句,当前如果不实现这个类也不会影响orm的制作,之所以要做这么一个类主要有几个目的,1.减少sql语句中拼写错误的发生.2.统一解决防sql注入的问题. 下面分别说明一下这两个类的实现方式: 1.配置类DbConfig using System; using Sys…
  PHP类和对象之Static静态关键字 静态属性与方法可以在不实例化类的情况下调用,直接使用类名::方法名的方式进行调用.静态属性不允许对象使用->操作符调用. class Car { private static $speed = 10; public static function getSpeed() { return self::$speed; } } echo Car::getSpeed(); //调用静态方法 静态方法也可以通过变量来进行动态调用  $func = 'getSpe…
1.1.0 创建数据层 1.1.1 CZBK.ItcastOA.IDAL 引用 CZBK.ItcastOA.Model 1.2.1 给IDAL添加一个接口IUserInfoDal 里面写增删改查分页的接口方法 public interface IUserInfoDal { //查 IQueryable<UserInfo> LoadEntities(System.Linq.Expressions.Expression<Func<UserInfo,bool>> whereL…