该章节主要介绍高级箭塔

2级和3级箭塔与初级箭塔只是替换了图片并且将攻击力、射程等提高,其他并无区别

高级箭塔也是高级塔中最好设计的,通过替换一些图片,增加例如发光的眼睛,飞翔的老鹰等动画即可。

不同之处在于增加1-2个技能

例如下方CossbowHunterTower,在shoot中增加一个技能,添加一个Int类型attackCount,每次攻击加1,每4次攻击使用1次技能。

这个塔技能设计的比较简单(不同原作),技能即秒杀效果,直接爆头,播放一个发光动画即可,具体代码参加github上

上方的TotemTower塔在于会根据周围敌人数量扔两种不同的图腾(原作不同情况用的图腾不同,本作没有设置这个功能,读者可自行设计),重载checknearestMonster,并且设置个bool类型设置为两个技能的CD,每隔5秒将该类型设置为true

void TotemTower::checkNearestMonster()
{monstersCount = 0;auto instance = GameManager::getInstance();auto monsterVector = instance->monsterVector;auto currMinDistant = this->scope;BaseMonster *monsterTemp = NULL;for(int i = 0; i < monsterVector.size(); i++){auto monster = monsterVector.at(i);double distance = this->getParent()->getPosition().getDistance(monster->baseSprite->getPosition());if (distance < currMinDistant && monster->getAttackByTower()) {currMinDistant = distance;monsterTemp = monster;monstersCount++;//计算周围敌人个数}}nearestMonster = monsterTemp;
}

重载shoot函数,当敌人个数大于5个且技能CD变量为true即释放技能,其他操作与初级箭塔类似

if(totemCD){SoundManager::playTotemSpirits();auto redTotem = RedTotem::create();this->getParent()->addChild(redTotem);redTotem->shoot(nearestMonster->baseSprite->getPosition() - this->getParent()->getPosition() + Point(20,20));auto violetTotem = VioletTotem::create();this->getParent()->addChild(violetTotem);violetTotem->shoot(nearestMonster->baseSprite->getPosition() - this->getParent()->getPosition()- Point(20,20));totemCD = false;
}

释放技能的图腾也是个继承与子弹类的子类,与炮塔的炮弹类似

void VioletTotem::shoot(Point point)
{this->setPosition(point);设置位置sprite->runAction(Sequence::create(//播放动画序列CallFuncN::create(CC_CALLBACK_0(VioletTotem::boom,this)),//首先播放爆炸动画Animate::create(AnimationCache::getInstance()->getAnimation("TotemTower_VioletTotem")),//播放图腾自毁动画CallFuncN::create(CC_CALLBACK_0(VioletTotem::removeBullet,this)),NULL));//爆炸,与炮弹类类似
}

以上就是高级箭塔,比较简单

[Cocos2d塔防游戏开发]Cocos2dx-3.X完成塔防游戏《王国保卫战》--防御塔(五)之高级箭塔相关推荐

  1. 亚马逊重组游戏开发部门:数个未发布游戏被“扼杀”;台积电明年开始为苹果iPhone生产5nm处理器……...

    关注并标星星CSDN云计算 极客头条:速递.最新.绝对有料.这里有企业新动.这里有业界要闻,打起十二分精神,紧跟fashion你可以的! 每周三次,打卡即read 更快.更全了解泛云圈精彩news g ...

  2. Html5 Egret游戏开发 成语大挑战(七)游戏逻辑和数据处理

    Html5 Egret游戏开发 成语大挑战(七)游戏逻辑和数据处理 本篇在前面的基础上,将进行逻辑的编码开发让游戏能够正式的玩起来,这里没有注重太多的体验细节,而是直接实现游戏的规则逻辑,将分成两个部 ...

  3. 硬件街机游戏开发,单片机游戏开发,CPLD/FPGA、ARM平台游戏开发群成立

    本超级QQ群成立,上限人数为500. 目标是发展中国游戏产业,提升硬件游戏开发技术交流.提供大的平台. 发展的方向是游戏动漫相结合,此群不是网络游戏开发,为单板街机游戏开发. 所属第三产业.以电脑板游 ...

  4. python小游戏开发,使用python实现英语打字游戏

    需求分析 英文打字小游戏,要有多界面交互,界面整洁.美观,可调节游戏等级难度,可配置游戏信息. 要有游戏分数,游戏时间,动画特效,背景音乐,不同游戏等级的历史最高分记录. 拼写成功的英文单词显示中文意 ...

  5. Android 游戏开发之主角的移动与地图的平滑滚动(十五)

    雨松MOMO带你走进游戏开发的世界之主角的移动与地图的平滑滚动 雨松MOMO原创文章如转载,请注明:转载至我的独立域名博客雨松MOMO程序研究院,原文地址:http://www.xuanyusong. ...

  6. 第 1 天|基于 AI 进行游戏开发:5 天创建一个农场游戏!

    欢迎使用 AI 进行游戏开发! 在本系列中,我们将使用各种 AI 工具,在 5 天内创建一个功能完备的农场游戏.到本系列结束时,你将了解到如何将多种 AI 工具整合到游戏开发流程中.本系列文章将向你展 ...

  7. php 游戏开发swoole,Swoole+websocket多人在线游戏示例

    利用Swoole,可以使用PHP来开发Websocket服务器,实现多人在线游戏.本文通过一个最简单的摇骰子游戏来介绍Server端(由PHP+Swoole实现)和Client端(由H5+Websoc ...

  8. 游戏开发人员眼中的Unity 3D网页游戏測评报告

    眼下.能够实现3D页游的主流技术有Silverlight.XNA.Flash.HTML5和Unity3D. 当中.Unity3D作为一款专注于3D游戏的浏览器插件.最近在国内外页游产品线骚动异常:本人 ...

  9. python游戏开发的第三方库有哪些_Python 游戏开发方向的第三方库是

    Python 游戏开发方向的第三方库是 答:Pygame 内分泌器官包括( ) 答:甲状腺 松果体 甲状旁腺 垂体 我国的社会保险制度体系主要包括.医疗保险.失业保险.工伤保险.生育保险等内容 答:养 ...

  10. 【Visual C++】游戏开发笔记三十一 回归季:游戏开发资料整理打包下载专栏行文思路整理

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. http://blog.csdn.net/zhmxy555/article/details/8147229 作者:毛星云    邮箱: h ...

最新文章

  1. ICPC / CCPC / Codeforces / AtCoder 单词本
  2. Java中的static
  3. mysql启动错误1067进程意外终止的解决方法
  4. php链接页面时加..,怎么给一个PHP密码访问页面加超链接
  5. 0-1背包问题 题目:国王和金矿问题 描述:有一个国家发现了max_n座金矿,参与挖矿工人的总数是max_people人。每座金矿的黄金储量不同为一维数组gold[],需要参与挖掘的工人数也不同为一维
  6. 包无法安装_R语言基础教程——第2章:R下载安装和环境搭建
  7. 插入排序:表折半插入
  8. ssas从mysql获取数据库_通过AMO获取SQL Server SSAS信息
  9. 在整个数据库搜索某个字符串在哪个表的哪个字段中
  10. 群晖 root_群晖洗白简单教程
  11. 主板在计算机系统中的应用,浅谈主板在计算机硬件系统中的重要性.doc
  12. php怎么使用类库,如何使用 Composer 引用类库
  13. java零基础Ⅰ-- 1.java 概述
  14. 断电后重启后报XFS文件系统错误 XFS (dm-0): Metadata I/O error
  15. java 常用四舍五入保留小数点后两位方法
  16. OpenGL: 圆柱面绘制贴图
  17. 一人干翻专业机构,27岁华裔小伙一战成名!搞出美国新冠最准预测模型,彭博:Superstar
  18. 海外虚拟主机空间:如何使用CDN加速提升用户体验?
  19. 利用USRP探索软件无线电(3)
  20. oracle 比对数据库表和数据表数据(PL\SQL)

热门文章

  1. 美团NLP算法实习生面试
  2. 关于AxGlyph软件
  3. java实现四次挥手_java中三次握手四次挥手是什么?图文详解
  4. 工资管理信息系统java_基于jsp的职工工资管理信息系统-JavaEE实现职工工资管理信息系统 - java项目源码...
  5. 亚信联创公用研发中心WAP2.0手机客户端软件开发
  6. 论文解读-Feature Selective Anchor-Free Module for Single-Shot Object Detection
  7. 头结点和头指针的区别
  8. 2022大三计算机 | 保研面试 | 专业课(数据结构、计组等) 数学(离散等) | 资料整理
  9. 设备描述符请求失败 usb无法使用_干货|标准仪器设备接口之USBTMC
  10. TPDS(transactions on parallel and distributed systems)overleaf模板(含IEEE其他论文模板)