嗨!大家好,我是小蚂蚁。今天我们继续分享制作一个塔防小游戏的第三节,如何创建不同类型的敌人,以及如何利用表格来编辑数据以及创建敌人。

如何创建不同类型的敌人

现在,我们需要在游戏中创建三种类型的敌人。

普通敌人:伤害一般,速度一般,血量一般。

快速敌人:伤害低,速度快,血量少。

巨大敌人:伤害高,速度慢,血量多。

这也是在塔防游戏中比较典型的三类敌人,决定这三类敌人的三个属性分别为伤害速度血量

在确定了 3 个属性后,其实我们只需要调整属性的值,就可以区分出三种不同类型的敌人了。

接下来我们为每个敌人增加 3 个局部变量,也就是这 3 个属性。

接下来我们来看一下,这三个变量在敌人逻辑中的使用。

在敌人创建时,设置敌人的移动速度。

在敌人被攻击时,减少局部变量血量的值。

在敌人到达目的地时,根据自己的局部变量“伤害”的值,减少玩家的生命值

最后,再为敌人设置不同的精灵图片,这样我们就创建了 3 中不同类型的敌人了。

这里普通敌人和快速敌人我用了相同的图片,快速敌人更小,旋转速度更快。

不同类型的敌人区别主要体现在两个层面,第一个是外表,即不同的图片,动画,声音等等。第二个是内在,即每种类型的敌人所对应的不同的属性。通过这两个层面的调整,就可以制作出各种各样的敌人了。

如何利用表格编辑敌人数据

在一个塔防游戏中,敌人通常都是一波一波的进攻的,干掉一波敌人后,接着又出现一波,直到消灭最后一波敌人,才能够获得胜利

那么我们如何去设置一个关卡中的一波一波的敌人呢?每一波出现几个敌人?出现哪种类型的敌人?这里我们可以使用一个非常强大的数据形式——表格。

如图,就是一个关卡中的敌人数据的表格了,这是一个 6 行 5 列的表格。

第一列表示的是当前的敌人的波数,也就是当前是第几波敌人。

第二列表示的是当前这波敌人要生成的数量

第三列表示的是当前这波敌人中每个敌人的血量

第四列表示的是当前这波敌人的类型。

第五列表示的是当前这波敌人中每个敌人之间生成的时间间隔

表格中的每一行代表的就是一波敌人的数据,假设我们当前读取了第一行(波)敌人数据。

在拿到这一行数据之后,其实我们就能够知道如下的信息:在这一波中一共要生成 3 个类型为 1(普通)的敌人,每个敌人的血量为 4,每个敌人的生成时间间隔为 3 秒。

有了这些数据之后,我们就可以在游戏中创建这一波敌人了。

在这个数据表格中我设置了血量生成间隔这两个变量,主要是为了增加不同波数的敌人的差异性,例如在游戏中第 1 波敌人和第 4 波敌人都是相同类型的敌人,此时就可通过调整敌人的生成数量,血量或者生成间隔,来让这两波敌人产生差异性。

在游戏中其实不需要每一波敌人在形象和属性上都必须完全不同,我们可以通过增加一下属性,来增加差异性,这样即使是同一种类型的敌人,也能产生多种不同的效果和组合。

如何创建一波一波的敌人

在表格中拿到一行敌人的数据之后,接下来要做的其实就是按照数据把敌人一个一个的创建出来。

首先,我们需要创建 2 个全局变量。

当前敌人的波数:这个变量帮助我们记录当前是第几波敌人,我们利用它在表格中获取指定行的数据。

当前干掉的敌人数量:这个变量帮助我们记录当前这一波敌人被干掉的数量,我们需要它帮助我们判断当前的这一波敌人是不是都被干掉了,是否需要继续生成下一波敌人。

接下来,看一下根据表格数据生成一波敌人的积木逻辑。

创建敌人的函数,根据敌人类型克隆指定的敌人。

敌人被克隆出来后的逻辑也做了一点儿修改,通过表格中的血量数据来设置敌人的血量

这样我们就把一行(波)数据,变成了一波真实的敌人了。

如何判断一波敌人是否消灭完,以及游戏是否过关了呢?接着来看下面的积木逻辑。

如果被干掉的敌人的数量等于当前这波敌人的数量,就证明这波敌人都被干掉了。接下来又做了一个判断,如果当前敌人的波数等于敌人表格的总行数,就证明了所有的敌人都被干掉了,游戏过关,否则的话,就继续生成下一波敌人。

因为表格中的一行表示了一波敌人的数据,所以表格的总行数也就代表了这一关中敌人的总波数。

最后,我们再来看一下敌人的死亡处理。

好了这就是如何利用表格来编辑和生成敌人的数据了,这里只是一个简单的示例,重要的是要了解这种使用表格来设置游戏数据的方法,然后应用到自己的游戏中。你可以试着增加更多类型的敌人,为敌人增加更多种类的属性,设计一个更丰富的敌人数据表格,然后做一个更好玩的塔防游戏。

这一节的内容就到这里了,下一节中我们将继续学习如何实现炮塔的升级以及出售功能。


我是会做游戏也会教你做游戏的小蚂蚁,关注公众号【小蚂蚁教你做游戏】,可免费领取全网最全的微信小游戏开发教程资料。获取塔防小游戏项目模版工程,可添加小蚂蚁vx:xiaomayi6669,备注“塔防小游戏”获取。

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

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

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

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

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

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

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

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

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

  5. Pygame实战:这年头塔除了拆还能干什么?这款好玩上瘾的塔防游戏,了解一下嘛

    导语 >>> 这年头塔除了拆还能干什么?这款好玩上瘾的塔防游戏,了解一下!! 自从塔诞生的时候起,我们就开始让毁灭的雨点从敌人的头顶上方倾泻而下. 现在很多游戏都将塔作为一个标志性的 ...

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

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

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

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

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

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

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

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

  10. 如何制作一个塔防游戏 Cocos2d-x 3.0alpha0

    本文实践自 Pablo Ruiz 的文章<How To Make a Tower Defense Game>,文中使用Cocos2D,我在这里使用Cocos2d-x 3.0alpha0进行 ...

最新文章

  1. 自己做网站服务器需要买吗,自己做网站要买服务器
  2. 安装的 Python 版本太多互相干扰?pyenv 建议了解一下。
  3. Manacher算法 , 实例 详解 . NYOJ 最长回文
  4. python画曲线图例-Python数据分析-Matplotlib图标绘制
  5. ESP8266--学习笔记(八)串口源码分析
  6. JavaScript 解决浮点值运算Bug
  7. Basic4android v3.50 发布
  8. nodejs后端使用art-template
  9. ajax 请求_你了解前端出现Ajax跨域请求的原因吗?
  10. 线程间的通信之wait和notify的使用
  11. 用MySQl创建供应商标s_建立一个供应商、零件数据库。其中供应商表S(Sno - 问答库...
  12. 图像尺寸与图像像素、分辨率的关系
  13. 本手、妙手、俗手?我用AI写2022高考全国作文题,会被看出来?
  14. 关于python3的input函数和int()强制转换
  15. 密码学应用(二)访问控制
  16. UI自动化执行遇到的问题汇总
  17. 【python】B站电影爬虫
  18. pypptee获取城市监测站点历史空气质量数据
  19. 拼音反查(转自大富翁)
  20. wireshark界面调整成英文的

热门文章

  1. 搜索关键字拼音智能提示实现
  2. qml+QQuickPaintedItem数学公式编辑器的实现
  3. 【应届生必看】技术岗面试应答有哪些话术和技巧?
  4. 应届生面试技巧心得及选择工作走向的分析[gitChat首秀]
  5. 数据传输加密技术分析
  6. 如何安装浏览器插件,一篇文章全搞定
  7. 会议审批 查询会议签字
  8. matlab方波经过低通滤波,方波滤波matlab的实现
  9. 中国科学院微生物研究所微生物资源与大数据中心招聘启事
  10. Technorati Blog Finder BETA