为游戏添加敌人
系列
您正在阅读平台游戏教程的第6部分。
- 第1部分:入门
- 第2部分:创建可操作角色
- 第3部分:创建平台
- 第4部分:为可操作角色添加动画
- 第5部分:向游戏添加可收集硬币
- 第6部分:为游戏添加敌人
- 第7部分:使敌人杀死玩家(玩家也可以杀死敌人)
- 第8部分:向游戏添加检查点
步骤1:为敌人创建一个对象
创建一个名为“史莱姆”的精灵对象。
为该对象添加以下资源的动画:
- slimeWalk1.png
- slimeWalk2.png
启用循环选项。
将对象的一个实例拖动到场景中。
如果预览游戏,将会在屏幕上看到一个动画敌人。
步骤2:将敌人向右移动
在本教程的前一部分中提到了三种类型的变量:
- 对象
- 场景
- 全局
一个_对象_变量与特定对象相关联。这意味着变量保存的值只适用于并且仅与关联的对象相关。
为“史莱姆”对象添加一个对象变量:
- 右键单击“史莱姆”对象。
- 选择编辑对象变量。
- 添加一个名为“direction”的变量,其值为“right”。这是变量的默认值。
- 点击应用。
这个“direction”变量跟踪敌人当前的方向。在稍后的步骤中,您将能够通过更改变量的值来改变敌人的方向。
要将敌人向右移动,请创建一个事件:
打开“事件编辑器”。
创建一个新事件。
添加“Text of an object's variable”条件到“史莱姆”对象。
在变量字段中,键入“direction”。
在测试的符号字段中,选择** \(= (等于)\)**。
在要比较的值字段中,键入“right”(包括引号)。
点击确定。
然后添加一个动作到事件:
添加“Add a force (angle)”动作到事件。
在对象字段中,选择“史莱姆”对象。
在角度字段中,键入“0”。
在速度字段中,键入“100”。
启用瞬间选项。
点击确定。
这就是完整事件的样子:
基于这个事件,当“direction”变量的值为“right”时,“史莱姆”对象向右移动。然而,由于对象从不改变方向,它最终会从平台边缘掉落。
步骤3:改变敌人的方向
要使敌人改变方向,向场景中添加两个不可见对象--一个称为“Left”,一个称为“Right”--并将它们放置在敌人的另一侧。
然后,当敌人与其中一个对象发生碰撞时,您可以将它们翻转并沿着另一个方向移动。这会产生敌人沿着设置的路线移动的错觉。
本步骤侧重于创建“Left”对象。当敌人与此对象发生碰撞时,它们将从左边到右边改变方向。(接下来的步骤侧重于“Right”对象。)
创建“Right”对象
创建一个名为“Left”的精灵对象。
使用“left.png”资源作为默认精灵。
将对象的一个实例拖动到场景中(在敌人的右侧)。
检测敌人何时与“Left”对象发生碰撞
创建一个新事件。
添加一个碰撞条件,检查“史莱姆”对象是否与“Left”对象发生碰撞。
更改“direction”变量的值
添加“修改对象的变量的文本”动作到事件。
在变量字段中,键入“direction”。
从修改符号下拉菜单中选择**\=(设置为)\**。
在值字段中,键入“left”(带引号)。
翻转“史莱姆”对象
- 添加“水平翻转对象”动作到事件。
- 将激活翻转选项设置为是。
这确保“史莱姆”对象不仅改变方向,而且面向不同的方向,而不仅仅是改变方向。
更改敌人的方向
- 添加“Add a force (angle)”动作到事件。
- 在对象字段中,选择“史莱姆”对象。
- 在角度字段中,键入“180”。
- 在速度字段中,键入“100”。
- 启用瞬间选项。
- 点击确定。
如果预览游戏,当敌人与“Left”对象发生碰撞时,它会改变方向。
### 隐藏"Left"对象
- 创建一个新事件。
- 将在场景开始时条件添加到事件中。
- 将隐藏动作添加到"Left"对象中。
如果预览游戏,敌人似乎会自己做出改变方向的选择。
步骤 4:改变敌人的方向(再次)
在敌人与"Left"对象发生碰撞后,它们开始向右移动,永远不会停止向右移动。为了确保它们再次改变方向,请创建一个名为"Right"的对象。此对象应与"Left"对象相同,除了以下细节:
- 使用"right.png"资源。
- 当"Player"对象与"Slime"对象碰撞时,将"direction"变量设置为"right"。
- 对于水平翻转对象动作,将激活翻转设置为否。
然后将"Right"对象的实例拖放到场景中,在敌人的左侧。
如果预览游戏,敌人在看不见的标记之间来回移动。
下一步