参考网址:http://blog.csdn.net/jackystudio/article/details/11917875

源码下载地址:点击打开链接

关于svn的简单使用:点击打开链接

1.修改以上篇章中的错误遗漏(不然运行会报错)

在 BulletLayer.cpp AddBullet 中添加 this->m_pAllBullet->addObject(bullet);

在 EnemyLayer.cpp enemy1Blowup中 添加一个参数 NULL,

即 CCSequence *sequence = CCSequence::create(animate,removeEnemy1,NULL);

2. 对GameLayer的修改

在 GameLayer.h 文件中的 class 中 增加成员函数 void update(float delta);

在 GameLayer.cpp 实现该成员函数

void GameLayer::update(float delta)
{CCArray *bulletsToDelete = CCArray::create();bulletsToDelete->retain();CCObject *bt, *et;CCARRAY_FOREACH(this->bulletLayer->m_pAllBullet, bt){CCSprite *bullet = (CCSprite*)bt;CCArray *enemy1sToDelete = CCArray::create();enemy1sToDelete->retain();int a = this->enemyLayer->m_pAllEnemy1->capacity();CCARRAY_FOREACH(this->enemyLayer->m_pAllEnemy1, et){Enemy *enemy1 = (Enemy*)et;if(bullet->boundingBox().intersectsRect(enemy1->getBoundingBox())){if(enemy1->getLife() == 1){enemy1->loseLife();bulletsToDelete->addObject(bullet);enemy1sToDelete->addObject(enemy1);}else ;}}CCARRAY_FOREACH(enemy1sToDelete, et){Enemy *enemy1 = (Enemy*)et;this->enemyLayer->enemy1Blowup(enemy1);}enemy1sToDelete->release();}CCARRAY_FOREACH(bulletsToDelete, bt){CCSprite *bullet = (CCSprite*)bt;this->bulletLayer->RemoveBullet(bullet);}bulletsToDelete->release();
}

并在 GameLayer::init() 中添加  this->scheduleUpdate();

3. 编译运行结果如图:

飞机大战之六:敌机爆炸(碰撞检测)相关推荐

  1. (七)通过pygame来设置飞机大战中 敌机 的速度、位置等

    python飞机大战系列文章(按顺序) (一)通过pygame 将自己的图像添加到游戏中 (二)通过pygame让游戏人物 动起来 (三)通过pygame处理用户的鼠标键盘操作(事件和监听 (四)详解 ...

  2. QT飞机大战五(碰撞爆炸特效类)

    如图所示,在子弹碰到敌机时,同时产生爆炸特效,显得不那么突兀 那么怎么做到的呢?? 其实也很简单,爆炸特效由一些图片组成,每当我们检测到子弹和敌机相交时 就在这个位置播放一个爆炸特效,那么爆炸也可以封 ...

  3. Python学习日记-第二十四天-飞机大战(敌机出场设计)

    系列文章目录 ·使用定时器添加敌机 ·设计Enemy 类 前言 昨天因为有事,所以没有及时更新 一.使用定时器添加敌机 游戏启动后,每隔一秒会出现一架敌机 每架敌机向屏幕下方飞行,飞行速度各不相同 每 ...

  4. python飞机大战碰撞检测_pygame制作飞机大战4——敌机出现、碰撞检测、增加声音、分数记录...

    1.歼灭敌机 (1)增加敌机:设置敌机,随机从窗口顶部出现,往底部移动,随机从窗口顶部出现只需要设置初始纵坐标为顶部的一个固定值: #敌机初始化 k = 0 enemy_x1 = 0 enemy_y1 ...

  5. ES6飞机大战篇-敌机自动移动发射子弹

    想要游戏变得有点难度的话 就得让敌机自己动起来(移动轨迹提前设置好)那么就得单独的来进行控制敌机上下左右发射 首先制作数据: /*** health:生命值* width:宽度* height:高度* ...

  6. QT飞机大战六(敌机血条的添加以及特殊子弹道具)

    可能有点丑但其实是没有好的资源图片 比如这个血条太生硬了,这个子弹道具怎么真的就和子弹一样?? 不过没事,功能对了就行 首先考虑这个血条怎么搞. 那么首先我们的敌机需要有个属性sum_hp(总血量), ...

  7. pygame小项目 ~ 3 :Python完成简易飞机大战

    pygame小项目 ~ 3 :Python完成简易飞机大战 子弹 敌机 我方战斗机全部采用图片 子弹击中和战斗机被击中全部采用碰撞检测 游戏的主函数代码 import spite from spite ...

  8. C++ 飞机大战小游戏 EGE

    C++ EGE 实现飞机大战小游戏图形界面 飞机大战因为没有了地图的限制,所以相比较坦克大战而言稍微简单一些. 而游戏的可玩性和复杂度一般应该是成正比的. 但是飞机大战并没有因为地图上的省略而变得没有 ...

  9. c++课程设计:飞机大战(图形化界面)

    飞机大战.cpp #include <iostream> #include <graphics.h> #include <time.h> #include < ...

最新文章

  1. java中class对象的理解 讲得相当不错 很接地气 引用下
  2. QT中添加背景图片,颜色,以及字体等
  3. wxWidgets:wxHtmlCellEvent类用法
  4. mysql创建回滚点_mysql创建与回滚
  5. node --- 监听文件变化(静态、动态、子进程)
  6. ios 蓝牙命令发送_实战恢复cisco 2950交换机的IOS
  7. Java 修饰符详解:吐血整理,带你从底层语法和开发案例疏通这 11 种常见修饰符
  8. react基础学习记录一
  9. INADDR_ANY的确切含义
  10. Ambari 安装配置 MySql
  11. 深度学习优化算法大全系列6:Adam
  12. 《现代操作系统(中文第四版)》课后习题答案 第二章 进程与线程
  13. 统计学习方法第二版pdf_notability笔记pdf版乱码解决方法
  14. pert计算公式期望值_信息系统项目管理师计算题详解:PERT(计划评审技术)计算...
  15. 《墨菲定律》读书笔记
  16. android 播放资源mp4,Android播放assets文件里视频文件相关问题分析
  17. LCD3D打印机和DLP3D打印技术的区别详解
  18. 枢纽披红彩车上路 申城公交传递城市年味
  19. Onedrive 1T|5T 网盘获取
  20. 做虚拟化的服务器网卡用什么,VMware ESX两种虚拟网卡性能对比测试

热门文章

  1. 电脑记账最简单的方法
  2. 南京地铁6号线双龙街出入口线区间盾构段开工
  3. wifi6连接不上个别wifi
  4. 极案例 | 守护地铁运营“生命线”,极视角与深圳地铁运管办共建“AI智能巡检系统”
  5. 微信小程序使用tensorflow做人脸识别检测卡顿的部分解决思路
  6. 【LaTeX】表格调整行高、列宽、合并显示等操作
  7. 466. 统计重复个数
  8. 5G+工业互联网应用场景大集锦!
  9. C语言每日一练——第73天:谁是窃贼问题
  10. 战神引擎 过黄列表教程