cocos2dx3.0 打飞机

cocos2dx3.0 打飞机,第1张

概述cocos2dx3.0 + vs2013 简单打飞机游戏 本文地址:http://blog.csdn.net/qq_26437925/article/details/52059069 游戏资源,借用了微信打飞机的图库 初版源码地址:https://github.com/doctording/cocos2dx_plane_cpp 滚动背景问题: 持续按键,执行动作 例如:需要移动时,若一直按着A键,

cocos2dx3.0 + vs2013 简单打飞机游戏
本文地址:http://www.jb51.cc/article/p-kzfawcay-wk.html

游戏资源,借用了微信打飞机的图库
初版源码地址:https://github.com/doctording/cocos2dx_plane_cpp

滚动背景问题: 持续按键,执行动作

例如:需要移动时,若一直按着A键,那么飞机将一直往左移动

解决方案:
设置一个变量,标识A键是否被按下,在update()方法中执行左移动作

// 键盘事件    auto ListenerKeyPad = EventListenerKeyboard::create();    ListenerKeyPad->onKeypressed = CC_CALLBACK_2(Bg::onKeypressed,this);    ListenerKeyPad->onkeyreleased = CC_CALLBACK_2(Bg::onkeyreleased,this);    _eventdispatcher->addEventListenerWithSceneGraPHPriority(ListenerKeyPad,this);    // 按键是否按下    isAdown = false;
// 按键 按下voID Bg::onKeypressed(EventKeyboard::KeyCode keycode,cocos2d::Event *event){    switch (keycode)    {    case EventKeyboard::KeyCode::KEY_A:        //Director::getInstance()->pause();        //this->planeLayer->moveleftOrRight('A');        isAdown = true;        break;    //...    }}
//按键 释放voID Bg::onkeyreleased(EventKeyboard::KeyCode keycode,cocos2d::Event *event){    switch (keycode)    {    case EventKeyboard::KeyCode::KEY_A:        isAdown = false;        break;    //...    }}
voID Bg::update(float delta){    // 如果A键出于按下状态,则一直左移    if (isAdown)        this->planeLayer->moveleftOrRight('A');    //...}
关于子d,敌方飞机的管理

显然要自己定义子d(Bullet) 和 敌机(Enemy)类,(Bullet,Enemy可以继承Sprite 和 Node)

因为将会有很多子d和敌机,必须建立管理类,
为 碰撞 和 销毁对象

管理类 采用 单例模式,头文件如下

#include "cocos2d.h"#include "Bullet.h"#include "Enemy.h"USING_NS_CC;class Manager {public:    static Manager * getInstance();// 得到实例    static voID Manager::freeInstance(voID);//销毁实例public:    static Manager * m_manager;    Manager();    bool init();public:    Vector<Bullet *> m_bulletVector;    Vector<Bullet *> & getBulletVector(){ return m_bulletVector; };    Vector<EnemyBase *> m_enemyVector;    Vector<EnemyBase *> & getEnemyVector(){ return m_enemyVector; };};

采用Vector Array等数据结构存储所有的对象,当碰撞,出界等时,从中删除,

帧动画,各种动作(move,blink),碰撞检测,定时器等等基础知识问题

参考文章

http://blog.csdn.net/column/details/jackyairplane.html
http://www.zaojiahua.com/add-bullets-and-manager.html

总结

以上是内存溢出为你收集整理的cocos2dx3.0 打飞机全部内容,希望文章能够帮你解决cocos2dx3.0 打飞机所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1081130.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存