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…
最近在学习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…
BulletLayer.h 内容如下 class BulletLayer : public cocos2d::CCLayer { public: CC_SYNTHESIZE(bool, m_IsHeroLive, IsHeroLive);//hero活着的时候才发射子弹... CCArray *m_bullets;//存储发射的子弹 CCNode* pParent;//在类初始化的时候会把Hero赋给它他,因为子弹要根据hero来确定发射的位置 CCSpriteBatchNode* batchN…
各种回调函数的定义: 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.1.1 EF线程唯一 在数据层中用到了EF的实例,在数据会话层也用到了,所以在一个请求中只能创建一个EF实例(线程内唯一对象),把它封装成工厂类 1.1.2 为了防止相互引用,循环引用,所以这个工厂类要写在数据层DAL DAL新增类 DBContextFactory /// <summary> /// 负责创建EF数据操作上下文实例,必须保证线程内唯一 /// </summary> public class DBContextFactory { public static Db…
从cocos2dx 3.2项目打包成apk安卓应用文件,搭建安卓环境的步骤有点繁琐,但搭建一次之后,以后就会非常快捷! (涉及到3.1.1版本的,请自动对应3.2版本,3.x版本的环境搭建都是一样的) 一.下载Android环境 搭建Android环境需要用到Android SDK.NDK.Ant和JDK: Android SDK下载http://developer.android.com/sdk/index.html Android NDk下载http://developer.android.…
首先,是个敲代码的,基本上都知道程序的入口是main函数,显然,就算在cocos2d-x框架中也一样 我们看看main函数做了什么 #include "main.h" #include "AppDelegate.h" #include "cocos2d.h" USING_NS_CC; int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdL…