ACTION GAME MAKER 包含一个 无敌 功能。本节将解释其用途以及如何配置。
为什么需要无敌?
在 ACTION GAME MAKER 中,攻击命中检测和伤害处理速度极快。
如果你不配置无敌状态,一次攻击可能会 瞬间命中多次,导致生命值(HP)瞬间归零。
如何设置无敌时间
建议将无敌持续时间设置得比攻击的激活时间更长。
例如:
- 如果攻击碰撞箱持续 1 秒,无敌时间应 至少为 1 秒。
- 否则,对象可能会 被同一攻击命中多次。
无敌设置节点
1. 基础设置
基础的无敌配置:
- 无敌持续时间(以秒为单位)
- 无敌期间对象是否闪烁,以及闪烁间隔
这是一种快速应用通用无敌行为的方法。
2. 无敌设置节点(InvincibleSettings)
对于更 高级的自定义,请使用 InvincibleSettings 节点。
其功能包括:
- 在无敌期间应用 过滤器或视觉效果,除了闪烁之外
- 在无敌结束后添加 不同的闪烁效果(例如:无敌期间慢闪,结束后快速闪烁)
- 临时将 碰撞箱转换为攻击箱
- 在无敌开始时 播放音效
- 使用开关控制无敌,实现复杂的条件逻辑
例如:
通常情况下,受到伤害会获得 0.3 秒的无敌时间。
但如果伤害类型造成击倒,你可以启用 1 秒的无敌时间。
无敌 vs. 禁用 HitCollision
另一种替代方案是使用 ChangeObjectProperty 动作或 AnimationPlayer 禁用 HitCollision 节点。
- 这同样可以防止受到伤害。
- 但由于这种方法 依赖于时间,存在处理问题或延迟行为的风险。
建议:
即使只是短暂的无敌,也推荐使用无敌功能以获得更一致的结果。
不过,创造性地结合两种方法,可以构建出 更动态的“伤害免疫”系统,从而带来有趣的玩法机制。