评论

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

如何做一个塔防小游戏系列教程的最后一篇。

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


如何实现炮塔的升级


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

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

攻击速度用于设置炮塔发射子弹的速度。
攻击范围用于设置当前炮塔的攻击范围。
是否已升级用于标识当前的炮塔是否已经进行过升级。
索引相当于当前的炮塔的 ID,我们为每个炮塔设置一个索引,也就是唯一的标识。
炮塔类型用于标识当前的炮塔类型。

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

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

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

出售炮塔的类型用于在出售炮塔时,根据炮塔的不同类型设置不同的出售价格。
当前炮塔是否已升级用于在显示升级处理时,判断当前炮塔是否可以进行升级(当前我们设置每个炮塔只能进行一次升级)。
当前选中炮塔的索引用于记录当前操作的炮塔,在后续操作中可以借此知道操作的是哪一个炮塔。

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

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

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

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

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

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

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


如何实现炮塔的出售


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

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

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

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

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

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

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

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

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

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

塔防游戏的项目模版在这里,可识别下方二维码体验。

如何获取塔防游戏项目模版?可参见【这里】

了解更多的游戏项目模版,可以【点击这里】查看。

---

我是会做游戏也会教你做游戏的小蚂蚁,想学习做游戏的话,关注我的公众号【小蚂蚁教你做游戏】就对啦!

也欢迎加小蚂蚁微信(XMY-XiaoMaYi),交个朋友。

这是我做的精致系列的2个小游戏,欢迎试玩。

最后一次编辑于  2022-02-21  
点赞 2
收藏
评论

2 个评论

  • 虎牙
    虎牙
    2022-02-23

    点关闭关闭不了。安卓12,小米11。

    2022-02-23
    赞同
    回复 1
    • 小蚂蚁
      小蚂蚁
      2022-02-23
      感谢反馈,我检查一下。
      2022-02-23
      回复
  • 停的车去哪里了?
    停的车去哪里了?
    发表于移动端
    2022-02-22
    트럼프 기와
    2022-02-22
    赞同
    回复
登录 后发表内容