cocos2d-x 3.2 |飞机大战:飞机与子弹
前情提要:飞机大战第二篇 实现飞机与子弹
如下:新建类----->Plane + Bullet
第一步:飞机类

Plane.h

#include <stdio.h>
#include "cocos2d.h"
using namespace cocos2d;
//飞机方法
class Plane:public Node
{
public:CREATE_FUNC(Plane);//Creat 方法自动调用initfloat px, py;//坐标int hp;//血量bool init();//初始化void moveTo(int x, int y);//移动到x,y
};

Plane.cpp

bool Plane::init()
{//初始化方法if (!Node::init()){return false;}//初始化战机hpthis->hp=3;//添加飞机图片auto fly1=Sprite::create("plane_3.png");this->addChild(fly1);fly1->setTag(10);return true;
}
void Plane::moveTo(int x, int y)
{this->getChildByTag(10)->setPosition(x,y);this->px=x;this->py=y;
}

第二步:子弹类

Bullet.h
#include <stdio.h>
#include "cocos2d.h"
using namespace cocos2d;class Bullet:public Node
{
public:CREATE_FUNC(Bullet);int px,py;//坐标int type;//类型int level;//级别bool init();//初始化Sprite * bt;static Bullet * newBullet(int type, int level,int x,int y);//新子弹 类型 级别 坐标void moveTo(int x,int y);//移动子弹方法
};

Bullet.cpp

#include "Bullet.h"bool Bullet::init()
{if (!Node::init()) {return false;}this->bt=nullptr;return true;
}
//创建子弹
Bullet * Bullet::newBullet(int type, int level,int x,int y)
{//创建新的子弹Bullet * newBullet=Bullet::create();switch (type) {case 1://普通光弹newBullet->bt=Sprite::create("bullet_1.png",Rect(0,0,20,60));break;case 2://炮弹newBullet->bt=Sprite::create("bullet_2.png",Rect(0,0,24,76));break;case 3://激光弹break;}newBullet->addChild(newBullet->bt);newBullet->moveTo(x, y);return newBullet;
}
void Bullet::moveTo(int x,int y)
{this->bt->setPosition(Vec2(x,y));this->px=x;this->py=y;}

总结:创建我方战机+子弹类

cocos2d-x 3.2 |飞机大战:飞机与子弹相关推荐

  1. c语言小程序飞机大战,飞机大战微信小游戏:经典像素飞机大战小程序,点开即玩...

    50000+游戏爱好者已加入我们! 每天推荐好玩游戏! 关注我们,沐沐带你发现好游戏! <经典像素飞机大战>游戏小程序好玩吗? <经典像素飞机大战>小游戏怎么玩? 怎么进入&l ...

  2. Python学习日记-第二十六天-飞机大战(发射子弹和碰撞检测)

    系列文章目录 1.发射子弹 2.碰撞检测 一.发射子弹 1.1   添加发射子弹事件 Pygame的定时器使用套路非常固定: 定义定时器常量--eventtid 在初始化方法中,调用set_timer ...

  3. python-pygame实现飞机大战-3-发射子弹以及击中敌机

    承接上两步: 1.python-pygame实现飞机大战-添加背景以及飞机运动 2.python-pygame实现飞机大战-2-添加敌机以及碰撞爆炸 在完成玩家飞机运动,生成敌机飞机以及两者碰撞爆炸后 ...

  4. ES6飞机大战篇-添加子弹追踪功能

    既然是飞机大战 那必定少不了子弹追踪 那么添加子弹追踪功能的实现如下: // 原文链接:https://blog.csdn.net/erweimac/article/details/82256087 ...

  5. pygame 飞机大战飞机、BOSS信息的显示

    目标,显示英雄飞机的得分,生命值,BOSS机的动态生命条 战斗界面中,信息数据是必不可少的,一般都包括得分值,当遇到BOSS时,还会显示BOSS的动态生命条,还有其他的飞机数量,炸弹数量等.不管生命信 ...

  6. cocos2d-x飞机大战——飞机移动的动画效果

    具体需求:飞机向左移动播放向左移动动画,向右移动播放向右移动的动画 实现思路:cocos2d-x里面提供了Animation类,该类继承Ref和Clonable,并不继承Action基类,所以无法直接 ...

  7. java飞机大战飞机背景滚动_微信经典飞机大战之二:飞机起飞(背景滚动)

    飞机起飞,其实质上是背景在滚动,相对运行引起的错觉. 我们利用2张一样的背景来循环滚动,然后通过每次滚动的时间间隔和像素间隔来控制背景滚动的速度,也就是飞机飞行的速度.注意:图片的高度一定要比屏幕高度 ...

  8. java飞机大战飞机背景滚动_飞机大战背景/音效动起来

    前面的准备工作已经做完,马上开始我们的第一站吧,游戏背景和游戏音乐的实现. bg.gif 1.为了项目结构清晰和代码规范,我们把游戏拆解为层次结构来实现,在src文件夹下新建一个目录backgroun ...

  9. java 中飞机大战碰撞检测,飞机大战开发04子弹与敌机的碰撞检测

    先是敌机与玩家子弹的碰撞检测: 代码: GameLayer.h void GameLayer::update(float dt) { for (int i = 0 ;i < m_pEnermyV ...

最新文章

  1. 用命令行非交互改密码
  2. 习题1.9 有序数组的插入 (20 分)
  3. python画-如何用Python画各种著名数学图案 | 附图+代码
  4. SpringBoot - 构建监控体系02_定义度量指标和 Actuator 端点
  5. Oh My God!e.printStackTrace() 导致系统卡崩
  6. 您真的需要instanceof吗?
  7. 链接(跳转)router-link 和 路由实例Router
  8. 大时代已过,小趋势可期
  9. SAP License:赛锐信息访谈启示录(二)
  10. 华为三星折叠手机可看不可摸;小米架构再调整;杨幂 AI 换脸视频制作者回应 | 极客头条...
  11. 宏定义(#ifndef+#define+#endif)的作用
  12. 安卓手机如何复制粘贴不重叠_复制的文字粘贴时怎么重叠了 - 卡饭网
  13. 腾讯云点播视频播放器使用步骤 uniapp
  14. vue+eleme upload 上传图片(含gif动图) canvas压缩,base64转blob对象
  15. Vi IMproved
  16. excel电子表格插件_从电子表格到漏洞管理
  17. 达索Catia许可证优化管理方案
  18. js Array 标准方法
  19. BookKeeper设计介绍及其在Hadoop2.0 Namenode HA方案中的使用分析
  20. 4h上手C++版Opencv

热门文章

  1. 支付通道千万条、安全稳定第一条。
  2. Mac中在Finder里面打开终端
  3. 虚火已去:月收入超2亿元的虚商在创新中寻找新机遇
  4. 跳出打工圈!程序员要如何走上创业逆袭路,获得百万、千万?
  5. PBOC常见问题处理
  6. 股市神童”胡立阳:股市赚钱的人都不“正常
  7. 代码审计入门之java-sec-code
  8. 2023最新全网素材解析网站工作原理,附带小例子。
  9. HTML+CSS+JS练手小玩意
  10. 如何有效控制数据中心制冷系统成本