bolt能力

能力是实现玩家动作的标准方式,具有:

  • 在移动设备和 PC 上都能良好工作的统一按钮界面。

  • 冷却

  • 可选瞄准(移动设备上点按/拖动,PC 上鼠标瞄准)

能力是 每个玩家。当玩家加入时,All Out 会为每种能力类型创建一个实例并将其存储在 player.abilities.

快速开始(绘制能力按钮)

在中绘制能力按钮 Player.ao_late_update,位于 用于仅本地的 UI/粒子,和:

Player :: class : Player_Base {
    ao_late_update :: method(dt: float) {
        if this->is_local_or_server() {
            draw_ability_button(this, Shoot_Ability, 0);  // 大的主按钮
            draw_ability_button(this, Dodge_Roll, 1);     // 小按钮
        }
    }
}
circle-info

按钮索引映射到固定的屏幕位置。索引 0 是大的主按钮;索引 1-5 是围绕它的较小按钮。

能力 API 参考

创建一个能力(基本点击)

持续按住的能力(按住时激活)

对于按住时保持激活的能力(冲刺、护盾、光束),使用 Ability_Utilities.update_holding_ability 以便在 PC 和移动设备上都能工作。

瞄准能力(在移动设备上拖动以瞄准)

如果你想要“始终瞄准”的行为(PC 上鼠标瞄准 + 点击开火,移动设备上按住-拖动-释放),使用 Ability_Utilities.full_update_aimed_ability:

如果你想要“点击进入瞄准模式”(PC 上切换瞄准模式;右键取消),使用 Ability_Utilities.full_update_targeted_aimed_ability:

全局范围的能力限制(可选)

实现 ao_can_use_ability 在你的 Player 类上以强制全局规则(死亡的玩家不能使用能力、在过场动画中禁用等)。

最佳实践

  • 始终在中绘制按钮 ao_late_update 并用以下内容进行保护 用于仅本地的 UI/粒子,和

  • 设置 current_cooldown 在你激活时(否则可能被刷屏)

  • 使用 Ability_Utilities 用于按住/瞄准的辅助函数,使移动设备和 PC 的行为一致

  • 将全局规则放在 Player.ao_can_use_ability,而不是在每个能力上重复

最后更新于