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

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

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

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

实现一个防守塔

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

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

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

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

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

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

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

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

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

一个需要注意的地方

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

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

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

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

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

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

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

为敌人设置路径点

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

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

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

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

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

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

移动行为文档:移动 · 小游戏创作工具

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

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

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

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

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

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

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

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

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


我是会做游戏也会教你做游戏的小蚂蚁.获取塔防小游戏项目模版工程,可添加小蚂蚁vx:xiaomayi6669,备注“塔防小游戏”获取。

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

  1. 塔防游戏制作教程(四)

    嗨!大家好,我是小蚂蚁.今天我们继续分享制作一个塔防小游戏的第四节,如何实现炮塔的升级和出售功能. 如何实现炮塔的升级 在炮塔升级时,我们简单地做一些属性的提升以及外表的变化,例如当炮塔升级后,攻击速 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  9. unity轻松制作塔防游戏

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

  10. Unity塔防游戏的制作与实现

    一.游戏场景的搭建 首先,我们需要创建一个新的Unity场景,并将场景设置为2D模式.然后,我们需要导入一些必要的素材,如地图.塔.怪物.子弹等.我们可以从Unity Asset Store中下载这些 ...

最新文章

  1. CCNp笔记(EIGRP)
  2. 【Java】5大排序算法总结(插入排序+希尔排序+选择排序+堆排序+冒泡排序)
  3. java之正则表达式
  4. 用Zend Encoder加密PHP文件和PHP 优化配置
  5. 继向日本捐赠100万只口罩后,马云又向这个国家捐了100万只!
  6. 华为交换机VLAN的配置和实施
  7. [Ext JS]12.12.1 必填字段组件扩展
  8. 计算机领域国际会议分类及排名
  9. 数据分析这么做,销售看了拍手叫好
  10. 知乎提示浏览器版本过低的完美解决办法
  11. 机器学习中的泛化误差
  12. 【概率】甲乙射击比赛,单局甲胜率0.6,3局2胜和5局3胜两种赛制甲如何选择?无限多局,甲获胜概率?
  13. 设置swiper中的高度
  14. 《C Primer Plus》第二章——C语言概述(程序示例与解释,提高程序可读性,函数的定义与使用,调试,关键字,复习题与编程练习)
  15. 【技术分享】使用opencv进行火焰分割
  16. 7. 常见网络攻击欺骗手段与防护
  17. 千里独行Thousands of miles to ride alone
  18. [转][类似我] 某作者结合自己性格对盖洛普的推广
  19. SaltStack基础知识-SaltStack产品介绍
  20. Python入门习题大全——冰淇淋小店

热门文章

  1. 贪心 学员 高阶机器学习 魔鬼·训练营
  2. 加速器在模拟器中的尝试
  3. ROS配置DS-NAT端口映射
  4. java混淆器最好_使用混淆器,保护你的java程序
  5. 从苏宁电器到卡巴斯基第05篇:我的创业梦
  6. 【mac】一招帮你腾出mac的大量储存空间
  7. trustedinstaller权限获取教程
  8. 神操作,用Python教你暴力破解WiFi密码,附赠技术实现视频
  9. 康佳电视应用助手服务器连接超时,康佳电视程序无响应怎么办?详细解决方法...
  10. 拯救你的SD卡,找回丢失的文件