Cocos2d-x《雷电大战》(3)-子弹无限发射,cocos2d

  次阅读 来源:互联网(转载协议) 2015-09-28 13:20 我要评论(0)

Cocos2d-x《雷电大战》(3)-子弹无限发射,cocos2d

林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka

本文要实现雷电游戏中,游戏一开始,英雄飞机就无限发射子弹的功能。这里的思想是单独给子弹弄一个层,在这个层不设置一个定时器,每隔一个时间,根据当前英雄飞机传入的位置,生成子弹,并设置子弹的移动事件,和移动后的事件(就是把子弹删除掉,节省内存)。

最终效果:

Cocos2d-x版本:3.4

工程环境:VS30213

一、英雄子弹层

1、HeroBulletLayer.h

/**

*功能 创建子弹并初始化子弹的运动

*作者 林炳文(ling20081005@126.com 博客:http://blog.csdn.net/evankaka)

*时间 2015.3.14

*/

#include "cocos2d.h"

USING_NS_CC;

const float FlYVElOCITY = 500;//运行速度,可以自己控制,每秒所走的像素

class HeroBulletLayer : public cocos2d::Layer

{

public:

HeroBulletLayer(Node* heroPlane);

~HeroBulletLayer();

virtual bool init();

//根据英雄飞机创建子弹

static HeroBulletLayer* create(Node* heroPlane);

//移除超出屏幕可视范围的子弹或者碰撞后的子弹清除

void removeBullet(Node* pNode);

//发射子弹,在其中进行子弹的渲染和子弹的飞行动作,默认为单子弹

void ShootBullet(float dt);

//返回子弹列表

Vector <Sprite *>& GetBullet();

public:

Vector <Sprite *>vecBullet;//子弹容器

SpriteBatchNode* bulletBatchNode;//批次渲染节点

Node* heroPlane;//传入的英雄飞机

};

2、HeroBulletLayer.cpp

/**

*功能 创建子弹并初始化子弹的运动

*作者 林炳文(ling20081005@126.com 博客:http://blog.csdn.net/evankaka)

*时间 2015.3.14

*/

#include "HeroBulletLayer.h"

HeroBulletLayer::HeroBulletLayer(Node* heroPlane) {

this->heroPlane = heroPlane;

}

HeroBulletLayer::~HeroBulletLayer() {

}

/**

*创建子弹的静态方法

*@param heroPlane为英雄飞机

*/

HeroBulletLayer* HeroBulletLayer::create(Node* heroPlane){

HeroBulletLayer* pRet = new HeroBulletLayer(heroPlane);

if (pRet&&pRet->init()){

pRet->autorelease();

本站部分文章来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 2018深圳国际人工智能展览会 2018 shenzhen International Artif

    2018深圳国际人工智能展览会 2018 shenzhen International Artif

  • Michael I. Jordan带你解读百万奖金ATEC蚂蚁人工智能大赛

    Michael I. Jordan带你解读百万奖金ATEC蚂蚁人工智能大赛

  • Oculus公布原型机,大幅度提升可视角,能实现140°的视场水平

    Oculus公布原型机,大幅度提升可视角,能实现140°的视场水平

  • teamLab创始人猪子寿之: 抛去衣食住行,我还剩下什么?

    teamLab创始人猪子寿之: 抛去衣食住行,我还剩下什么?

网友点评网友点评
阅读推荐阅读推荐

据外媒报道,STEER打造了首款完全自动驾驶停车技术,旨在使常规车辆转变为无人驾驶车辆。STEER的首款技术应用是4级自动驾驶及网络安全停车...

近日,美国软性机器抓手制造商 Soft Robotics 宣布,获得 2000 万美元的融资,本轮投资者包括 Scale Venture Partners,Calibrate Ventures...

据外媒报道,加州车管局发布了《2017自动驾驶脱离报告(California Autonomous Vehicle Disengagement Reports)》,其中谈及了脱离的具体...

用人机语音交互,来解决智能家居适老的问题;通过家庭门禁与安防套件、空气净化套件、可燃气体与有害气体监控套件等相互联动,在不同生活情...