教程:脚本课程 #2 – 让我们创建一个敌人

在本课程中,您将学习 ACTION GAME MAKER 中的基本脚本方法。

第 2 部分 中,我们将创建一个 敌人 角色。


课程开始前的准备

我们将继续使用 第 1 部分 中的 同一个项目
请打开项目并准备好开始。

步骤 1:设置基础敌人(僵尸)配置

  1. 我们将使用 模板对象 中的 僵尸 作为敌人。
    打开新标签页,选择 游戏对象,并按以下方式配置设置:
  • 名称:您喜欢的任何名称(此处我们使用 Sample_Zombie)。
  • 模板characters
  • 类型Enemy_Zombie
  • Enemy

创建完成后,按 Ctrl+S 保存场景。


  1. 设置 基础设置
    打开 BaseSettings 部分,并配置以下内容:
  • 启用自动水平翻转ON

在可视化脚本中,系统默认对象朝右。然而,此对象设计为朝左,因此必须启用水平翻转。

  • 启用对象条件CLOSE TO CAMERA(靠近摄像机)

对象在摄像机视野外时将保持禁用状态。

  • HP / 最大 HP5

1 点 HP 太低,因此我们将其设置为 5。

  • 无敌持续时间0.2 秒

这是受到攻击后的无敌持续时间。1 秒对于快节奏的攻击来说太长了,因此我们将其设置为 0.2 秒。


  1. 通常,您需要手动设置碰撞检测和动画,但此 模板对象已包含所有内容,因此无需进行额外的基础配置。

说明

关于无敌持续时间

无敌持续时间非常重要。
如果未设置,只要攻击判定框与敌人重叠,敌人就会持续受到伤害,导致瞬间被击败。
另一方面,如果时间过长,像机枪这样的快速射击攻击可能无法造成连续伤害。
请根据您的项目需求调整此设置。

2 个赞

步骤 2:创建敌人(僵尸)的脚本


  1. 点击 :scroll: + 图标以创建新的可视化脚本
  2. 将第一个状态重命名为 Walk,并将动画设置为僵尸的行走动画:E_01_act_003
    同时,将朝向方向设置为,因为默认方向是右。

  1. 对于 Walk 的可执行操作,添加 TemplateMove
    将模板类型保持为水平,但禁用自动翻转,这样僵尸仅在撞墙时才会转身,而不是基于时间。

  1. 让我们在游戏中测试一下。将 sample_zombie.tscn 作为 BaseLayer 的子节点放置。
  2. F5 或点击 :play_button: 进行测试。
    僵尸应该向左行走,并在被子弹击中时消失。如果不起作用,请检查以下内容:
  • 僵尸移动方向错误:确保在 BaseSettings 中启用了“启用自动水平翻转”,并且 Walk 状态的方向设置为左。
  • 子弹击中僵尸后未消失:检查子弹的脚本,确保碰撞检测正常工作。
  • 僵尸在受到攻击后未死亡预期行为,因为我们尚未添加死亡状态。

  1. 现在让我们创建受伤状态。
    在 AnyState 附近创建一个名为 Damaged 的新状态。
    将动画设置为 E_01_act_008(受伤动画)。

  1. 在操作设置中,将水平移动速度降低至10%
    这会使僵尸在受伤动画期间减速。

  1. 添加三个操作
  2. 播放音频:使用 Zombie2 作为音效。
  3. 等待:插入 0.2 秒 的等待时间,以便动画播放。
  4. 转移到上一个操作:返回到之前的状态。

  1. 连接 AnyState → Damaged
    AnyState 允许从任何状态进行转换,“转移到上一个操作”则返回到之前的状态——对于 RPG Maker 用户来说,这就像“公共事件”。

  1. 为该链接添加两个条件
  2. 接触攻击区域
    配置为当被 Player任何方向击中时做出反应。
  3. HP ≠ 0

  1. 测试一下。僵尸在受到攻击时应发出呻吟并踉跄,且在受到 5 次攻击后停止反应。

如果不起作用:

  • 对攻击无反应:检查 HP 条件是否已反向,并且动画是否正确设置。
  • 在 5 次攻击后仍会反应:确保逻辑条件为 AND

  1. 现在让我们创建死亡状态:

  1. Dead 添加三个操作
  2. 更改对象属性
  • 类型:对象属性
  • 目标:自身
  • 节点:AttackCollision:warning: 不是 AttackArea2D
  • 属性:disabled
  • 值:开启
    → 禁用碰撞箱,防止玩家从尸体受到伤害。
  1. 等待0.85 秒,以便动画播放。
  2. 移除自身
    → 从游戏中删除僵尸。

  1. 连接 AnyState → Dead,并将条件设置为 HP = 0(这次不要反向条件)。

  1. 再次测试。僵尸应发出呻吟并踉跄最多 5 次,在第 5 次攻击时播放死亡动画并消失。

如果有任何不符合预期的地方,请仔细检查链接、状态和条件。


下一个教程(第 3 部分)

2 个赞