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

简介: 嗨!大家好,我是小蚂蚁。从今天起,计划用几篇文章分享一下如何使用微信小游戏制作工具做一个塔防小游戏。

嗨!大家好,我是小蚂蚁。从今天起,计划用几篇文章分享一下如何使用微信小游戏制作工具做一个塔防小游戏。


640.gif


如图,是一个塔防游戏的示例,在一个塔防游戏中大概包含这样的几个部分:


  • 各种类型的防守塔
  • 各种类型的敌人
  • 敌人按照指定的路径移动
  • 防守塔建设点
  • 敌人数据编辑


今天,我们主要了解一下如何实现一个防守塔的功能,以及如何让敌人按照指定的路径进行移动。


实现一个防守塔



实现一个防守塔非常的简单,因为小游戏制作工具已经为我们提供了现成的“行为”了。


选中作为炮塔的精灵,然后在属性区的下方点击“管理行为”按钮,在行为对话框中开启“炮塔”行为。这个行为已经为我们提供了制作一个防守塔所需的大部分的功能了。


640.png


开启行为后,可在属性区下方会看到与“炮塔”有关的几个属性,


640.png


启用:是否开启这个行为,默认开启。

炮塔半径范围:这个属性决定了炮塔的攻击距离,设置 300 表示当敌人与炮塔的距离小于等于 300 时,炮塔就会进行攻击。

是否旋转:炮塔是否会跟随敌人进行转动,开启后,炮塔会跟随着敌人的移动调整自己的朝向。

旋转速度:炮塔调整朝向时的速度。


积木区右侧的“行为”类别中,也会增加与炮塔有关的 6 个积木块。


640.png


这里,我们重点使用的是前两块以及最后一块积木块。第一块积木块儿的作用是设定敌人,炮塔要攻击谁,就把谁设置为目标敌人。第二块积木块用于在游戏时设置炮塔的攻击范围,例如炮塔升级后,攻击范围增加,就可以使用这块积木块来调整攻击范围。最后一块积木块是一个判断积木块,用于判断“当前是否有可以攻击的敌人”,用于控制炮塔的攻击,因为只有在有敌人可攻击的情况下,炮塔才会发射子弹,否则的话炮塔应该处于待机状态。


一个需要注意的地方


640.png


上方讲过,“炮塔”的属性中有一个“是否旋转”的属性,勾选后,炮塔会根据敌人当前的位置自动调整自己的朝向。但是这里有一个需要注意的地方,就是炮塔的旋转默认是以向右为正方向的,如图中的炮筒是向右的,这样在旋转时才能保证炮筒一直朝向敌人。默认的炮塔图片炮筒是向上的,所以,这里我增加了一个容器,将“炮塔”行为添加到容器上,然后调整容器中的“炮塔1图片”朝向右。


最后,我们再来看一下炮塔容器上的控制炮塔攻击的积木块儿。


640.png


重点关注标注的积木块,首先,我们设置了目标敌人,然后设置攻击范围。最后利用一个循环来处理炮塔发射子弹,这里我们用到了“是否锁定敌人”这个积木块,即只有当前有敌人可被攻击时,炮塔才会发射子弹。


再来看一下炮塔子弹的积木逻辑。


7a4bf1f390f3efe5995e02b98e5069c9.png


重点是第二个积木块,因为炮塔的朝向是在不停变化的,所以我们使用“创建者的角度”这个积木块获取当前炮塔的朝向角度,然后以此来当作子弹移动方向的角度,这样能够确保子弹是沿着炮筒方向发射的。


最后,呈现出的就是这样的效果。


744ec85c9e71574cf9617366d4d8992d.gif


总结一下,利用工具提供的“炮塔”行为我们可以很方便的实现一个炮塔的功能。另外,对于一个炮塔来讲,后续会需要进行升级处理,例如升级后,增加攻击范围,加快攻击速度,增加攻击力等等。增加攻击范围可以通过“设置炮塔半径”的积木块实现,增加攻击速度可以通过调整克隆子弹的间隔来实现,增加攻击力就可以放在炮塔的子弹中进行处理了。这些等到我们后续讲到升级时再详细介绍。


为敌人设置路径点



在塔防游戏中,一般每一关中敌人行进的路径都是不同的,敌人的行进路径需要根据当前的场景图片进行设置。其实,整个敌人的行进路径是由一个一个的路径点组成的。


82305b8008444fcbac99d3b351ef2fae.png


如图,从上方的起始点到最后的结束点,这之间是一段弯弯曲曲的路线,其实这整段路径可以用中间的这些蓝色的点来表示,敌人只需要从其中的一个点移动到下一个点即可。


想要让敌人按照路径点移动也非常的简单,因为小游戏制作工具同样也为我们提供了现成的功能,这个功能在“移动行为”中。


选中要移动的敌人,然后为敌人开启“移动行为”。


9276390b701ea3ad0e08a7a1aa8b9e44.png


开启移动行为后会增加如下的属性。


59adb78c3d693094be5e877b403dac25.png


与“移动行为”有关的参数这里就解释了,可以完全按照字面意思理解,也可以参考官方文章中的详细解释。

移动行为文档: https://gamemaker.weixin.qq.com/doc/minigame/behaviors/moveto.html

与“移动行为”有关的积木块儿共有 10 个,这里我们只关注与“航路点”有关的两块积木,一个是设置指定的位置,一个是将指定的精灵添加到路径点(其实添加的是这个精灵的位置)。


c0cf91cd324c4de44cb53c09f72437e0.png


航路点”指的就是我们上图中路径中的那些蓝色的点,我们只需要将路径中所有的“”,使用“添加到航路点”积木块进行添加,最后启用一下移动行为,敌人就会按照指定的路径进行移动了。


为了方便调整路径点,我们可以直接在场景中增加用于标识路径点的精灵,这样就可以在编辑区通过拖拽调整路径点了。


b776b9f8277f609562fdfd4e853b205f.png


最后,我们来看一下控制敌人移动的积木逻辑。


5bae8a5c484ccf3862ee8e6f14f23e10.png


添加完所有的路径点,然后启用移动行为即可。

这里有两种添加航路点的方式,直接使用坐标或者使用指定的精灵。据测试使用精灵作为航路点,在电脑端测试正常,但是在手机上预览时,路径有问题,算是一个工具的bug。所以,目前建议使用第一种方式。

最后,看一下敌人的移动轨迹。


730b904406cc2f022fcbbc943d7b14bb.gif


今天的内容就到这里了,利用小游戏制作工具为我们提供的行为,我们可以快速的实现一个炮塔,以及让敌人按照指定的路径移动。下一篇将介绍如何设置炮塔建设点,以及如何创建不同类型的炮塔。


相关文章
|
数据可视化 关系型数据库 MySQL
宝塔面板数据库迁移一种小技巧方式
要迁移数据,那么一般情况下两边服务器的mysql版本、配置应该保持一致 将变化的可能性尽可能减低,否则你不会预料到迁移过后会发生什么事.. 其实这个方法只是在恢复数据的时候一种小灵活的手法。主体逻辑还是没有变化的。
802 0
宝塔面板数据库迁移一种小技巧方式
|
JavaScript 前端开发 算法
JavaScript 中的 if 判断:深入理解、实战应用与进阶技巧
【4月更文挑战第7天】探索 JavaScript 中的 if 判断语句,它是构建逻辑清晰程序的基础。了解其概念、语法、应用示例及编程技巧,包括条件控制、else if 结构、三目运算符。注意条件表达式简洁性,避免 falsy 值陷阱,利用逻辑运算符优化,并减少 if 嵌套。实践这些技巧将提升编程能力和代码质量。
740 0
|
消息中间件 缓存 监控
Sentry 开发人员文档(中文手册,二次开发指南)
Sentry 开发人员文档(中文手册,二次开发指南)
3649 0
Sentry 开发人员文档(中文手册,二次开发指南)
|
XML Java API
SpringBoot3.x日志生产最佳实践原来是这样!
SpringBoot3.x日志生产最佳实践原来是这样!
653 0
|
10月前
|
Java API 调度
Java 日期与时间处理:精准掌控时间流转
Java 8引入了全新的日期和时间API,解决了旧版`java.util.Date`和`Calendar`类设计不佳、操作繁琐的问题。新API包括`LocalDate`、`LocalTime`和`LocalDateTime`类,操作简洁直观,符合日常思维习惯。同时提供了`Period`和`Duration`处理时间间隔,以及`DateTimeFormatter`进行格式化输出。这些改进使开发者能更高效、准确地处理日期和时间,极大提升了开发效率与代码质量。 (239字符)
230 6
|
机器学习/深度学习 人工智能 算法
智能时代的伦理困境:人工智能决策的透明度与责任归属
当AI技术逐渐渗透到我们生活的每一个角落,它带来的便利和效率提升是显而易见的。然而,随之而来的伦理挑战也不容忽视。本文将探讨AI在做出决策时面临的透明度问题,以及由此引发的责任归属难题。通过分析AI系统的工作原理、决策过程及其对个人和社会可能产生的影响,我们将提出一系列针对当前AI伦理困境的解决方案和建议,旨在促进AI技术的健康发展同时保护人类社会的基本伦理原则。
1448 11
|
人工智能 搜索推荐 5G
|
PyTorch 算法框架/工具
Pytorch学习笔记(一):torch.cat()模块的详解
这篇博客文章详细介绍了Pytorch中的torch.cat()函数,包括其定义、使用方法和实际代码示例,用于将两个或多个张量沿着指定维度进行拼接。
734 0
Pytorch学习笔记(一):torch.cat()模块的详解
|
数据采集 XML 运维
什么是主数据管理?企业主数据管理方法论
主数据又被称为黄金数据,其价值高也非常重要。对企业来说,主数据的重要性如何强调都不为过,主数据治理是企业数据治理中最为重要的一环。主数据管理的内容包括 主数据管理标准、主数据应用标准 和 主数据集成服务标准 三大类。