Skip to content

为游戏添加敌人

系列

您正在阅读平台游戏教程第6部分

  1. 第1部分:入门
  2. 第2部分:创建可操作角色
  3. 第3部分:创建平台
  4. 第4部分:为可操作角色添加动画
  5. 第5部分:向游戏添加可收集硬币
  6. 第6部分:为游戏添加敌人
  7. 第7部分:使敌人杀死玩家(玩家也可以杀死敌人)
  8. 第8部分:向游戏添加检查点

步骤1:为敌人创建一个对象

  1. 创建一个名为“史莱姆”的精灵对象。

  2. 为该对象添加以下资源的动画:

    • slimeWalk1.png
    • slimeWalk2.png
  3. 启用循环选项。

  4. 将对象的一个实例拖动到场景中。

    Slime Object

    如果预览游戏,将会在屏幕上看到一个动画敌人。

    Animated Enemy

步骤2:将敌人向右移动

在本教程的前一部分中提到了三种类型的变量:

  • 对象
  • 场景
  • 全局

一个_对象_变量与特定对象相关联。这意味着变量保存的值只适用于并且仅与关联的对象相关。

为“史莱姆”对象添加一个对象变量:

  1. 右键单击“史莱姆”对象。
  2. 选择编辑对象变量
  3. 添加一个名为“direction”的变量,其值为“right”。这是变量的默认值。
  4. 点击应用

这个“direction”变量跟踪敌人当前的方向。在稍后的步骤中,您将能够通过更改变量的值来改变敌人的方向。

Object Variable

要将敌人向右移动,请创建一个事件:

  1. 打开“事件编辑器”。

  2. 创建一个新事件。

  3. 添加“Text of an object's variable”条件到“史莱姆”对象。

  4. 变量字段中,键入“direction”。

  5. 测试的符号字段中,选择** \(= (等于)\)**。

  6. 要比较的值字段中,键入“right”(包括引号)。

  7. 点击确定

    Event Condition

然后添加一个动作到事件:

  1. 添加“Add a force (angle)”动作到事件。

  2. 对象字段中,选择“史莱姆”对象。

  3. 角度字段中,键入“0”。

  4. 速度字段中,键入“100”。

  5. 启用瞬间选项。

  6. 点击确定

    Event Action

这就是完整事件的样子:

Complete Event

基于这个事件,当“direction”变量的值为“right”时,“史莱姆”对象向右移动。然而,由于对象从不改变方向,它最终会从平台边缘掉落。

Moving Enemy

步骤3:改变敌人的方向

要使敌人改变方向,向场景中添加两个不可见对象--一个称为“Left”,一个称为“Right”--并将它们放置在敌人的另一侧。

然后,当敌人与其中一个对象发生碰撞时,您可以将它们翻转并沿着另一个方向移动。这会产生敌人沿着设置的路线移动的错觉。

本步骤侧重于创建“Left”对象。当敌人与此对象发生碰撞时,它们将从左边到右边改变方向。(接下来的步骤侧重于“Right”对象。)

创建“Right”对象

  1. 创建一个名为“Left”的精灵对象。

  2. 使用“left.png”资源作为默认精灵。

  3. 将对象的一个实例拖动到场景中(在敌人的右侧)。

    Left Object

检测敌人何时与“Left”对象发生碰撞

  1. 创建一个新事件。

  2. 添加一个碰撞条件,检查“史莱姆”对象是否与“Left”对象发生碰撞。

    Collision Condition

更改“direction”变量的值

  1. 添加“修改对象的变量的文本”动作到事件。

  2. 变量字段中,键入“direction”。

  3. 修改符号下拉菜单中选择**\=(设置为)\**。

  4. 字段中,键入“left”(带引号)。

    Modify Variable Action

翻转“史莱姆”对象

  1. 添加“水平翻转对象”动作到事件。
  2. 激活翻转选项设置为

这确保“史莱姆”对象不仅改变方向,而且面向不同的方向,而不仅仅是改变方向。

更改敌人的方向

  1. 添加“Add a force (angle)”动作到事件。
  2. 对象字段中,选择“史莱姆”对象。
  3. 角度字段中,键入“180”。
  4. 速度字段中,键入“100”。
  5. 启用瞬间选项。
  6. 点击确定

如果预览游戏,当敌人与“Left”对象发生碰撞时,它会改变方向。

Change Direction### 隐藏"Left"对象

  1. 创建一个新事件。
  2. 在场景开始时条件添加到事件中。
  3. 隐藏动作添加到"Left"对象中。

如果预览游戏,敌人似乎会自己做出改变方向的选择。

步骤 4:改变敌人的方向(再次)

在敌人与"Left"对象发生碰撞后,它们开始向右移动,永远不会停止向右移动。为了确保它们再次改变方向,请创建一个名为"Right"的对象。此对象应与"Left"对象相同,除了以下细节:

  • 使用"right.png"资源。
  • 当"Player"对象与"Slime"对象碰撞时,将"direction"变量设置为"right"。
  • 对于水平翻转对象动作,将激活翻转设置为

然后将"Right"对象的实例拖放到场景中,在敌人的左侧。

如果预览游戏,敌人在看不见的标记之间来回移动。

下一步

阅读第7部分:使敌人杀死玩家(玩家也可以杀死敌人)