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

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

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


如何实现炮塔的升级



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


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


640.png

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

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

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

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

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

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


640.png


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


640.png


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


640.png

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

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

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

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


640.png


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


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


640.png


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


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


640.png


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


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


640.gif


如何实现炮塔的出售



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


640.png


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


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


640.png


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


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


a94b53175a7847bf543452e749a699e0.gif


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


相关文章
|
28天前
|
前端开发 JavaScript
前端复刻经典小游戏之飞机大战(一)
前端复刻经典小游戏之飞机大战(一)
23 1
|
28天前
|
前端开发 JavaScript 安全
前端复刻经典小游戏之飞机大战(三)
前端复刻经典小游戏之飞机大战(三)
16 0
|
28天前
|
前端开发 JavaScript 测试技术
前端复刻经典小游戏之飞机大战(二)
前端复刻经典小游戏之飞机大战(二)
38 0
|
2月前
|
算法
连连看游戏系列教程开篇
连连看游戏系列教程开篇
42 0
|
小程序 容器
如何做一个塔防小游戏(一)
实现一个防守塔非常的简单,因为小游戏制作工具已经为我们提供了现成的“行为”了。 选中作为炮塔的精灵,然后在属性区的下方点击“管理行为”按钮,在行为对话框中开启“炮塔”行为。这个行为已经为我们提供了制作一个防守塔所需的大部分的功能了。
132 0
|
小程序 索引
如何做一个塔防小游戏(二)
为了方便设置炮塔的位置,可以使用一个精灵图片作为标识,图中我使用了黄色的五角星作为炮塔位置的标识,可以在场景区中直接拖拽五角星对炮塔的位置进行设置。然后在游戏启动后我们将使用炮塔创建按钮来替换这些五角星的位置。
81 0
|
小程序 索引
如何做一个塔防小游戏(四)
嗨!大家好,我是小蚂蚁。今天我们继续分享制作一个塔防小游戏的第四节,如何实现炮塔的升级和出售功能。 在炮塔升级时,我们简单地做一些属性的提升以及外表的变化,例如当炮塔升级后,攻击速度提升,攻击范围增大,炮塔变成红色的。
84 0
|
算法 索引 容器
如何做一个俄罗斯方块游戏(二)
嗨!大家好,我是小蚂蚁。今天我们继续学习如何做一个俄罗斯方块游戏。整个系列教程计划按照这个流程图开展,这也是我制作整个游戏的过程,今天我们就来看一下“随机生成形状”这个模块。想要实现随机的生成形状,首先必须要知道在俄罗斯方块中一共有多少种形状(也就是我们上一节中留下的第二个问题)。
134 0
|
定位技术 开发者
如何做一个俄罗斯方块游戏(一)
从今天开始,我将开启一个新的游戏,并且顺带着会写一个新的系列教程,这个游戏就是人人都知道的——俄罗斯方块。 我一直都在做消除类型的游戏,在所有消除类型的游戏里,俄罗斯方块可以称得上是“鼻祖”了,所以,不论怎样这个系列里都不能少的了它。
115 0
|
小程序 流计算
如何做个泡泡龙游戏(三)
嗨!大家好,我是小蚂蚁。今天我们来继续了解在泡泡龙游戏中,泡泡是如何发射,移动,反弹和停靠的。 这一节里会涉及到比较多的数学运算,不过完全不用担心,试着找一张纸和一支笔,画一画,很容易理解的。
110 0