课程简介
欢迎来到yk1boy的游戏教程第二课
在这节课中,我们将创建敌人:
准备工作
在上一期我们完成了玩家移动的制作,接下来我们需要制作敌人(怪物)了。
首先我们需要按自己的需求创建一些列表:
其实大部分是我自己的需要,其实最重要的还是xy坐标,血量等,其他的可以按自己的需求增加。
怪物
显示怪物
这里的怪物显示用到了一种很新的方法,我们先上图:
我们先看那个最下面的“克隆 绘制”模块:(记住那个i和怪物类型的第i项的位置)
这就不得不说到我绝(阴)妙(间)的显示方式了:
这样,怪物就能正常显示了!
然后让我们来看看上面这张图里那些乱七八糟的模块都是怎么运行的
怪物的各种细节
层序——冒泡排序
如果你的视角不需要考虑遮挡,可以不做这个。
这里和冒泡排序还有点不一样(主要是为了玩家的层序)
配合之前的显示模块,就能做到遮挡了。
怪物的推挤
这个如果怪物数量多(50以上)很占运算量,可以考虑不做。
清理阵亡怪物
暂停
这里提到的大部分模块都是运行时不刷新屏幕的,但是这个一定不要加!!!(不然会卡死)
其实就是等待暂停等于0,因为需要的地方比较多所以做成了全局积木
血条
怪物的移动和攻击
移动向量是远离玩家移动的向量(如远离玩家5个单位就是将x增加5移动向量,将y增加5移动向量2)
这里的全局 移动里可以直接填(-1×需要移动的距离×移动向量)(-1×需要移动的距离×移动向量2)
其实也是为了方便才做成全局积木的。
做完了这些,你的怪物就能追逐并攻击玩家了。
但是玩家好像还拿这些怪物没什么办法呢。
所以我们接下来做玩家的攻击。
玩家攻击
其实大部分创作者不会做攻击的主要原因就是不知道怎么让游戏“知道”怪物在攻击范围内,但是看了前面的代码,你应该知道怪物的位置都在“怪物x”和“怪物y”两个列表里,只要读取这两个列表的数据,就能知道那个怪物在攻击范围内了,比如圆形伤害的判定——
使用时不要忘了删除上一次攻击锁定的目标,锁定目标之后无论是造成伤害还是击退等都能实现。
食用方法:
那么到现在这个游戏已经可以玩了(虽然还非常简陋),下一节课我们将要拓展这个游戏的玩法,并制作商店。
<iframe
width="100%"
height="800px"
scrolling="no"
src="https://www.ccw.site/embed?id=yk1boy101/02&type=comment"
title="{第二课-创建敌人}"
frameBorder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
allowFullScreen
scrolling="0"
></iframe>