嗨!大家好,我是小蚂蚁。今天我们继续分享制作一个塔防小游戏的第四节,如何实现炮塔的升级和出售功能。

如何实现炮塔的升级

在炮塔升级时,我们简单地做一些属性的提升以及外表的变化,例如当炮塔升级后,攻击速度提升,攻击范围增大,炮塔变成红色的。

首先,我们为炮塔增加几个局部变量。

攻击速度用于设置炮塔发射子弹的速度。

攻击范围用于设置当前炮塔的攻击范围。

是否已升级用于标识当前的炮塔是否已经进行过升级。

索引相当于当前的炮塔的 ID,我们为每个炮塔设置一个索引,也就是唯一的标识。

炮塔类型用于标识当前的炮塔类型。

对于炮塔的设置,我们增加这样的操作:当创建一个炮塔后,再次点击炮塔,会出现针对当前炮塔的选项,这里创建了一个选项面板,用于处理炮塔的升级出售

接着来看一下如何设置选项面板,我们在炮塔上增加点击处理,增加如下的积木逻辑。

这里重点关注一下设置的 3 个全局变量,之前讲过,在小游戏制作工具中,我们需要使用全局变量来进行数据的传递,这里我们将当前选择的炮塔的一些信息记录到全局变量中,在后面的升级和出售处理中会用到。最后,我们将选项面板移动到当前手指点击的位置,然后通知选项面板,让它显示。

出售炮塔的类型用于在出售炮塔时,根据炮塔的不同类型设置不同的出售价格。

当前炮塔是否已升级用于在显示升级处理时,判断当前炮塔是否可以进行升级(当前我们设置每个炮塔只能进行一次升级)。

当前选中炮塔的索引用于记录当前操作的炮塔,在后续操作中可以借此知道操作的是哪一个炮塔。

接下来,看一下选项面板的显示逻辑。

因为我们限定了每个炮塔只能进行一次升级,所以这里根据之前记录的“当前炮塔是否已升级”全局变量的值来设置升级按钮是否可用。

升级按钮点击的积木逻辑。

逻辑很简单,如果玩家的金币数量大于升级需要的金币数量(100个),就进行升级处理,可以看到这里我们发送了两个通知,把不同炮塔的具体升级操作交由炮塔自己进行处理。

最后,看一下炮塔上具体的升级处理积木逻辑。

在升级按钮的点击逻辑中,我们向所有的炮塔发送了“炮塔升级”的通知,所以,游戏中的所有炮塔都会接收到该通知,此时我们如何知道具体要升级的是哪个炮塔呢?这里就需要借助之前设置的“当前选中炮塔索引”这个全局变量了,使用这个变量和炮塔自身的局部变量“索引”进行比对,如果相等的话,就证明了当前需要升级的是该炮塔。确定了要升级的炮塔后,接下来设置一下炮塔的颜色以及两个属性就可以了。

至此,我们就完成了炮塔的升级处理,预览一下炮塔的升级效果。

如何实现炮塔的出售

接下来,看一下选项面板中出售按钮的积木逻辑。

同样很简单,根据之前设置的“出售的炮塔类型”全局变量,设置不同类型炮塔的出售价格,然后向所有的炮塔发送“出售炮塔”通知。

跟炮塔升级逻辑类似,我们也将炮塔出售逻辑放在炮塔自身中处理,来看出售炮塔的积木逻辑。

同样的,根据“当前选中炮塔索引”这个全局变量来决定要删除的是哪个炮塔,删除炮塔后,在当前炮塔的位置重新克隆一个“创建”炮塔的按钮。

预览一下出售炮塔的效果。

至此,如何制作一个塔防小游戏的所有内容就分享完了,这四篇系列教程或许不能帮助做出一个高质量的塔防游戏,但是至少也能够帮助你了解到在一个塔防游戏中都包含了哪些模块,每一个模块的实现思路是怎样的。这个系列教程只能帮助你完成一个基础的框架,至于最终能够做出一个怎样的塔防游戏,这个将由你来决定。

如何做一个塔防小游戏(一)

如何做一个塔防小游戏(二)

如何做一个塔防小游戏(三)

如果觉得这个系列教程对你有帮助,点赞,分享都可以。这会让我知道我写的这些教程能够帮助到他人,这对于我来讲是一种强大的反馈,也让我觉得这件事儿做的很有意义。

塔防游戏的项目的小程序码在这里,可微信识别下方二维码体验。


我是会做游戏也会教你做游戏的小蚂蚁,关注公众号【小蚂蚁教你做游戏】,可免费领取全网最全的微信小游戏开发教程资料。获取塔防小游戏项目模版工程,可添加小蚂蚁vx:xiaomayi6669,备注“塔防小游戏”获取。

塔防游戏制作教程(四)相关推荐

  1. Cocos2D:塔防游戏制作之旅(十)

    最终,draw方法显示这些路径点被放置在哪里,并且绘制出路径点之间的连线,它们仅仅被用作调试.一个成品游戏不应该绘制敌人的路径 - 那对于玩家来说太过容易了! 创建路径点的列表.打开HelloWorl ...

  2. 微信塔防小游戏开发教程,唤境引擎制作塔防游戏分享

    今天带来的是塔防游戏制作攻略! 点击这里来下载工程文件, 点击这里可以下载工程中所用的素材哦~ 预览状态时敌人会从四个生成点随机生成,并且会自动寻路绕过黑色墙体走向红色终点.点击黑色墙体可以创建炮塔, ...

  3. (译)如何使用cocos2d制作一个塔防游戏:引子

    原文链接地址:http://www.iphonegametutorials.com/2011/04/11/cocos2d-game-tutorial-how-to-build-a-tower-defe ...

  4. 如何制作一个塔防游戏 Cocos2d x 2 0 4

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 本文实践 ...

  5. (译)如何使用cocos2d制作一个塔防游戏:第三部分

    原文链接地址:http://www.iphonegametutorials.com/2011/04/19/cocos2d-game-tutorial-%E2%80%93-how-to-build-a- ...

  6. 如何在unity中制作塔防游戏

       塔防游戏非常流行,毫无疑问--没有什么比看着自己的防御消灭讨厌的侵略者更让人满足!在这两部分教程中,用unity来制作一个塔防游戏! 将会学习怎样...... 创建一波敌人 让它们跟随线路点 ...

  7. Unity3D之塔防游戏的制作(一)

    前不久,由于要练习Unity的使用,之前也写了几个小游戏,但是感觉还有一些东西不太熟练,就临时决定来写一下这个塔防游戏,就是模仿一下几年前比较流行的皇家守卫军,(其实我当时也不知道写什么,是别人提的建 ...

  8. 零基础学CocosCreator·第七季-制作一款塔防游戏

    第七季-制作一款塔防游戏 01.塔防前言 为什么是塔防? 准备 02.使用TileMap创建地图 新建地图 获取地图 编辑地图 代码操控 运行 03-16.实战中 04.状态机 代码 08.事件分发器 ...

  9. unity轻松制作塔防游戏

    课程介绍:玩儿过塔防游戏吗?听说过<保卫萝卜>和<塔防战争>吗?本系列课程使用简单易懂的逻辑带你一起剖析这类游戏制作的过程.本案例完美展示了该类项目从搭建到完成的完整架构体系, ...

最新文章

  1. python中文名的发件人邮件读取解析_如何使用python收取读取邮件?
  2. C++ 和 Java,你选哪个? | 每日趣闻
  3. 提交响应后无法调用sendredirect_微服务的那些事(三),微服务的远程调用方式。RPC和HTTP...
  4. glBegin()和glEnd()之间可调用的函数
  5. Spring Cloud Alibaba - 14 OpenFeign自定义配置 + 调用优化 + 超时时间
  6. git查看分支记录_git原理
  7. [导入]防止你的日志页被人iframe
  8. Android Bitmap OutOfMemory 解决的方法
  9. python练习题及答案-听说你python基础入门了?100个经典练习题送给你(附完整答案)...
  10. 解析kml文件,提取经纬度信息存入csv
  11. 计算机应用主要学PS,计算机应用专业PS模块考试标准.doc
  12. 2020上海大学生网络安全赛MISC题WP
  13. vue-awsome-swiper安装和css引入问题
  14. win7下安装nodejs
  15. SitePoint播客#26:力量在于您
  16. 三星s5pv210核心板全球最低价199元,尽在保定芯灵思
  17. mac下的c语言贪吃蛇
  18. 安阳工学院c语言期末考试题库,安阳工学院期末C语言答案.doc
  19. 【渝粤题库】陕西师范大学164116 网络资源优化与推广 作业 (高起专)
  20. 基于Rockchip RK3588 Android12 SDK搭建自己的repo 仓库服务器

热门文章

  1. 如何申请working holiday visa
  2. GEE11:2个土地覆盖数据(LUCC)分享和下载
  3. 在vue项目中使用svg图标
  4. fastdfs实现文件上传下载的通用方法
  5. 2011年5月23日
  6. QML Canvas-雷达
  7. 3-03-1 泰坦尼克号竞赛 - 数据过滤
  8. 初识EMC元器件(一)——TVS管参数解读
  9. 虚拟翻书系统,相比传统有哪些优势
  10. 【毕业设计】 python flas疫情爬虫可视化