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

简介: 为了方便设置炮塔的位置,可以使用一个精灵图片作为标识,图中我使用了黄色的五角星作为炮塔位置的标识,可以在场景区中直接拖拽五角星对炮塔的位置进行设置。然后在游戏启动后我们将使用炮塔创建按钮来替换这些五角星的位置。

嗨!大家好,我是小蚂蚁。今天我们继续如何制作一个塔防小游戏的第二篇,如何设置炮塔的位置,以及如何创建不同类型的炮塔。


如何设置炮塔的位置



如图黄色五角星的位置,就是要创建的炮塔的位置。在塔防游戏中,炮塔的位置通常会根据当前的地形进行设置,也就是说炮塔只能在指定的位置上进行创建。


为了方便设置炮塔的位置,可以使用一个精灵图片作为标识,图中我使用了黄色的五角星作为炮塔位置的标识,可以在场景区中直接拖拽五角星对炮塔的位置进行设置。然后在游戏启动后我们将使用炮塔创建按钮来替换这些五角星的位置。


来看一下这些用于标识炮塔位置的五角星上的积木逻辑。



游戏启动后,通过克隆创建一个炮塔位置按钮,接着就把自己隐藏了。


接下来,我们来看一下炮塔位置按钮的克隆逻辑。



重点关注第一块积木,当按钮被创建出来后,立即将自己移动到创建者的位置。这样我们就能在游戏启动后,把用于标识炮塔位置的星星替换成创建炮塔的按钮了。


如何创建不同类型的炮塔


在塔防游戏中都会包含有不同类型的炮塔,例如有的攻击速度快但伤害低,有的速度慢但伤害很高等等。当我们需要创建不同类型的炮塔时,该如何用小游戏制作工具来实现呢?


这里就需要借助到“全局变量”了,我们可以为炮塔分配一个类型数字,例如当前包含两种类型的炮塔,第一种炮塔我们为它分配一个类型数字 1,第二种炮塔我们为它分配一个类型数字 2 。然后,可以新建一个“创建的炮塔类型”的全局变量,用于判断到底要创建哪种类型的炮塔。



可以先猜一下“创建炮塔位置索引”这个全局变量是用于干什么的?


接下来,看一下点击创建炮塔按钮的积木逻辑。



首先我们将当前点击炮塔的位置索引记录在全局变量“当期炮塔位置索引”中,便于在后续创建炮塔时能够知道到底在哪个位置上创建,接着显示了炮塔的创建面板。


炮塔的创建面板就是在当期的按钮位置上显示出一个用于选择不同炮塔的对话框。



如图,这里我使用了一个圆形的对话框,包含两种不同类型的炮塔创建按钮,中间是一个关闭按钮。


接下来,我们来看一下不同类型的炮塔创建按钮上的逻辑。


创建炮塔1按钮积木逻辑。



创建炮塔2按钮的积木逻辑。



可以发现除了“创建炮塔类型”的不同,其他的地方都一样。在这里并没有具体的创建炮塔克隆体的逻辑,只是发送了一个“创建炮塔”的通知,因为具体的炮塔创建逻辑会在“炮塔创建按钮”上进行处理。


接下来看一下“炮塔创建按钮”上的具体的炮塔创建的逻辑积木。



这里我们通过“当前炮塔位置索引”这个变量来确定到底要在哪个位置上进行创建,然后通过“创建的炮塔类型”这个变量来确定到底要创建哪种类型的炮塔。最后,创建完炮塔后,将创建按钮删除。

这里有一个需要注意的地方,就是我们在克隆完炮塔后,等待了1帧,然后才删除了创建按钮。这里为什么需要等待1帧呢?因为在炮塔被克隆出来之后,需要根据创建者(创建按钮)的位置来设置炮塔的位置。如果这里不“等待1帧”的话,那么炮塔被克隆出来之后,它的创建者已经被删除了,就无法根据创建者来设置自己的位置了。

最后,看一下炮塔克隆体启动时的积木逻辑。



这里我们将炮塔的位置设置在“创建者”的位置,也就是“创建炮塔按钮”的位置。至于下方的积木逻辑,我们在上一节中已经讲过,在此就不多做赘述了。


最后,看一下在不同的位置创建不同炮塔的效果。



总结一下,想要实现在指定的位置上创建不同类型的炮塔,这里我们借助了两个重要的全局变量:

当前炮塔位置索引:帮助我们确定要在哪个位置上创建炮塔。

创建的炮塔类型:帮助我们确定要创建哪种类型的炮塔。

这两个全局变量在这里主要起了数据传递的作用,相当于把当前点击的按钮的位置,以及在创建对话框中选择的炮塔的类型,传递给了最终创建炮塔的逻辑。


这种借助“全局变量”来进行数据传递的方式在微信小游戏制作工具中会经常用到,尤其是涉及到稍微复杂一点儿的功能时,可以说是必须用到的,如果你还不会的话,可以借此好好地理解一下。


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

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

精致1010

一个很精致的消除游戏。

小程序

精致点点连线

忙碌生活中的片刻放松。

小程序


也欢迎加个微信,交个朋友,毕竟我还是个蛮有意思的人呢!

相关文章
|
8月前
|
算法
连连看游戏系列教程开篇
连连看游戏系列教程开篇
112 0
|
JavaScript Java
【游戏开发】自从遇见了口袋方舟后,我的世界变得精彩了起来
【游戏开发】自从遇见了口袋方舟后,我的世界变得精彩了起来
191 0
|
小程序 索引
如何做一个塔防小游戏(四)
嗨!大家好,我是小蚂蚁。今天我们继续分享制作一个塔防小游戏的第四节,如何实现炮塔的升级和出售功能。 在炮塔升级时,我们简单地做一些属性的提升以及外表的变化,例如当炮塔升级后,攻击速度提升,攻击范围增大,炮塔变成红色的。
118 0
|
小程序 容器
如何做一个塔防小游戏(一)
实现一个防守塔非常的简单,因为小游戏制作工具已经为我们提供了现成的“行为”了。 选中作为炮塔的精灵,然后在属性区的下方点击“管理行为”按钮,在行为对话框中开启“炮塔”行为。这个行为已经为我们提供了制作一个防守塔所需的大部分的功能了。
173 0
|
小程序
如何做个泡泡龙游戏(四)
嗨!大家好,我是小蚂蚁。在上一节中,我们学习了泡泡的发射,移动,反弹和停靠。所有的这些都是以计算的方式来实现的,我们没有选择使用物理,碰撞检测这些方式,因为泡泡龙游戏需要一定的精准性,而通过在每一帧进行计算,可以保证游戏的精准。
123 0
|
算法 小程序
如何做一个泡泡龙游戏(五)
嗨!大家好,我是小蚂蚁。我们今天来继续学习泡泡龙游戏中最核心的东西:查找匹配算法。 其实这也不算是什么新东西了,如果你有看过我的其它关于消除游戏的教程,应该会知道,消除游戏的查找算法就那么一个,不论何种类型的消除游戏,这个算法的核心是不变的,只不过会根据不同类型的消除稍作调整而已。所以,如果你之前对查找算法还不是很了解的话,那么就尝试跟随着这篇教程把它彻底搞懂吧!
127 0
|
小程序 流计算
如何做个泡泡龙游戏(三)
嗨!大家好,我是小蚂蚁。今天我们来继续了解在泡泡龙游戏中,泡泡是如何发射,移动,反弹和停靠的。 这一节里会涉及到比较多的数学运算,不过完全不用担心,试着找一张纸和一支笔,画一画,很容易理解的。
139 0
|
算法 小程序
如何做一个泡泡龙游戏(六)
嗨!大家好,我是小蚂蚁。 上一节中,我们学习了泡泡龙游戏中的查找算法,这个算法可以帮助我们找到所有相邻的相同颜色的泡泡,在查找完泡泡之后,再通过判断满足条件的泡泡的数量是否大于等于 3,来决定是否应该进行消除。
126 0
|
小程序 索引
如何做一个泡泡龙游戏(二)
嗨!大家好,我是小蚂蚁。今天我们继续学习制作一个泡泡龙游戏。 绝大部分的泡泡龙游戏都是关卡制的,你玩过了一关,然后接着再玩下一关。每个关卡其实都是预先设计好的,闯关的过程就是游戏将一个一个设计好的关卡呈现给玩家的过程。这些关卡都是怎样设计的呢?游戏又是怎样将这些设计好的关卡呈现出来的呢?欢迎带着这两个疑问开启今天的阅读之旅。
151 0
|
小程序
如何做一个泡泡龙游戏(一)
嗨!大家好,我是小蚂蚁。从今天开始,我将会用几篇文章讲一下如何制作一个泡泡龙游戏,泡泡龙是一个传统经典的消除游戏,也是一个经久不衰永不过时的游戏。 这篇文章我们主要来了解一下如何设置泡泡龙游戏的初始布局。
166 0