飞机专题提供飞机的最新资讯内容,帮你更好的了解飞机。
        林炳文Evankaka原创作品。转载请注明出处http://www.voidcn.com/tag/http://blog.csdn.net/evankaka 本文将实现用单例模式实现一个英雄飞机类的设计,单例模式是游戏开发中最常用到的一种设计模式,原理也比较简单,仔细研究下就可以掌握好。 来看看效果:                                        
飞机发射子弹: 弹幕,是雷电游戏的精华。这就需要对子弹的运动轨迹进行控制。 先做一个最简单的子弹发射,后面再添加各种弹幕(实际上主要是研究弹幕) 说是最简单,其实也是最普通的子弹发射,产生一个颗子弹移动就OK了。 方法:做一个子弹发射的计时器,产生子弹,子弹做MoveBy动作就OK了。 代码: GameLayer.cpp void GameLayer::fireSchedule(float dt)
都好几天没写博客了,主要是这几天真的没做什么,事儿多,也懒了,发现自己真的是逻辑思维能力需要锻炼,而且要认真锻炼 前几天做了个飞机大战,原版的哦,还有声音,各位可以拿走跑起来玩耍一把,个人把难度调的还是蛮高的,哈哈、 下载地址: 点我下载飞机大战源码, 这几天继续做象棋,发现真的是关系坐标,一关系多了,自己就脑袋大,所以说要锻炼逻辑思维能力啊,加油吧, 有些困难是要自己面对的
上周,我做了一个基于 cocos2d-x 的飞机大战的游戏,因为我刚学cocos2d-x没多久,所以这个飞机大战很多都是看着别人的教程,再加上自己的一些想法,来做的。 下面我想说一说我的思路。 飞机大战有三个场景: LayerGameStart(游戏开始) LayerGameMain(游戏进行中) LayerGameOver(游戏结束) 一、游戏开始场景(LayerGameStart) 其中,游戏
第一节:环境搭建 飞机大战游戏是一个只要懂c++都能开发的一个简单游戏,本次实习我们用的环境如下: 基于python2.7.8的cocos2d-x-3.0,新建的项目需要vs2012及以上版本才能运行,如果本机已经安装了python3.0以上的或者其他版本的也请重新装一次,会出问题,2.7最稳定。这里我只讲python与cocos2d-x的安装环境,vs自行解决。 环境压缩包链接:链接:http:
第二节:添加无限移动背景与英雄飞机 一、新建文件   删除HelloWorldScene.h与HelloWorldScene.cpp文件,新建FlaPlane类如下,cpp文件同样的创建方法,这里注意FlyPlane的位置一定要在classes文件夹下,名字随意,最好和项目名保持一致。 二、修改AppDelegate.cpp AppDelegate.cpp中会有两处红线错误,第一个地方是头文件,改
 第三节:为英雄添加飞行帧动作并控制飞机移动 一、为飞机添加飞行动画 为飞机添加飞行动画十分简单,只需要在FlyPlane::init()函数中创建一个动画对象,在里面添加两张英雄图并相互切换就可以了。 添加代码如下: //为英雄添加飞行动作,动作由动画组成,所以得到动作对象前,需要先得到动画对象 //一、创建动画对象 //1.1通过create得到动画对象 auto animation
第四节:添加英雄子弹 实现这个功能需要如下考虑: 1、每隔一小段时间就创建一个子弹在英雄机顶,并将其加入一个sprite*的容器中,并添加在flyplane层中显示出来。 2、创建出来的子弹每帧刷新都增加Y坐标让其看起来向上移动。 3、子弹出界,回收清除。  (打中敌人也要从容器中和flyplane对象中清除,以后再考虑)。 综合这几点修改FlyPlane.h 和 FlyPlane.cpp文件 一
这节完成了许多的功能: 1、添加小飞机、中等飞机、大飞机。 2、每种飞机的移动速度和血量不同。 3、飞机被子弹打击效果。 4、飞机被摧毁效果。 cocos2d提供的Sprite类不足以提供以上功能,所以我们需要新建一个Enemy类重写Sprite。 Enemy.h代码段 #ifndef __ENEMY_H__ #define __ENEMY_H__ #include "cocos2d.h" /
        好久没写过博客了,现在把刚做的游戏发上来吧,以后要注意更新博客啦~! 游戏截图 游戏整体结构图 第一步 在 AppDelegate 中设定游戏界面大小以及缩放方式 cocos2d-x3.7新生成的项目中,AppDelegate有默认的界面大小以及缩放方式,这里,我对其作出一些更改,使其适应本项目 Size frameSize = glview->getFrameSize();
        在上一篇中,我们实现了游戏的开始界面,接下来要实现游戏的主界面,主界面包含地图、我方飞机、敌机等         先来实现我方飞机 我方飞机具有哪些属性呢? 飞机要具有生命值、要有动画效果(尾部喷气),飞机不能够飞出边界,所以要进行边界检测,当飞机生命值为0时,飞机会爆炸,然后被移除。 .h文件 //飞机动画 Animate* planeFly(); //边界检测 void
        现在来实现敌机类         敌机和我方飞机相似,具有生命值、能够发射子弹,并且有自己的运动轨迹。其实可以为它们设计一个共同的基类,这样可以更方便扩展。 不同的敌机,应设置不同的标识、属性 // 敌机生命值 const int ENEMY1_MAXLIFE = 1; const int ENEMY2_MAXLIFE = 2; const int ENEMY3_MAXLIFE =
        敌方飞机应该不定时的出现,有自己的生命周期、运动轨迹。这个类用来管理敌机的产生、移动、爆炸、销毁等。 敌机管理类主要函数如下 //绑定控制器(更新分数) void bindController(Controller* controller); //根据分数决定添加敌机速度 void addSpeed(float dt); // 添加敌机1 void addEnemy
        我方飞机的子弹和敌机子弹都在这个类中产生。将子弹专门设计成一个类,主要是为了方便扩展。之后如果想更换我方飞机子弹或者是敌机子弹,都会很方便。 类的功能很直观,就是添加子弹、移除子弹 void bindEnemyManager(EnemyManager* enemyManager); void BeginBulletShoot(float dt = 0.0f); // 开启子弹射
        玩家要保存的数据可能很多,这里,我们只保存分数 这个类的成员变量和函数如下 //用户数据操作的成员变量 UserDefault * m_userDefault; //要用到这种特殊的容器了。。 ValueVector m_vector; //记录玩家的当前分数 CC_SYNTHESIZE(int, m_score, Score); void save(); 我们使
        控制器中的功能并不多,主要是下面这些 //对玩家分数的操作 CC_SYNTHESIZE_READONLY(SaveData *, m_saveData, SaveData); void update(float tm); //游戏暂停与恢复 void menuPauseCallback(cocos2d::Ref* pSender); //声音控制 void menu
        采用双层背景,这样效果更好 .h class BackgroundMove : public Layer { public: BackgroundMove(); ~BackgroundMove(); virtual bool init(); virtual void onEnterTransitionDidFinish(); //等进入场景之后在进行背景的移动 CREAT
        之前在一个闯关游戏中第一次接触飘字效果,因为那个游戏没有发教程,所以在这里介绍下飘字效果 class FlowWord :public Node { public: FlowWord(); ~FlowWord(); //创建和初始化 飘字 static FlowWord* create(); bool init(); //显示飘字 void showFlowWor
        主场景要包含其他类的头文件 #include "cocos2d.h" #include "MyPlane.h" #include "Bullet.h" #include "EnemyManager.h" #include "Controller.h" #include "BackgroundMove.h" #include "FlowWord.h" 在这个游戏中,我将各种碰撞检测也
        这个场景作为弹出场景,主要介绍下游戏。。。还有自己的联系方式(*^__^*) …… 主要使用文本,就一个返回按键的响应函数 //返回按钮 void back(EventKeyboard::KeyCode keyCode, Event* pEvent); 同样要记得在析构函数中移除监听 AboutGame::~AboutGame() { _eventDispatcher->remo