短帧情况下攻击不会触发命中状态

为了避免多段命中,我将攻击判定仅持续了 0.01 秒,

虽然攻击本身命中并造成了伤害,

但敌人并未进入“被攻击命中”的状态转换。看来需要 0.02 秒,

然而,如果判定持续 0.02 秒,就会导致连续两次命中。

考虑到双人游戏(2P)的情况,我不希望给敌人设置过多的无敌时间,

(因为当 1P 的攻击命中期间,2P 的攻击会直接穿过敌人)。

我也曾考虑过在命中后立即取消攻击判定的方法,但未能成功。

请问有什么好的解决方案吗?

关于这一点,视觉脚本中各状态的判定是每帧进行的。

1 帧约为 0.0167 秒,因此 0.01 秒的时间无法赶上视觉脚本的处理时机。

这并非 Actzuku 特有的问题,而是程序中常见的 process(delta) 每帧处理时机,因此难以改变。

目前尚未确定开发计划,但我们在前作 Actzuku MV 中实现的“按属性设置无敌时间”系统已作为需求提出。如果能够实现该系统,应该就能达成您所期望的效果……

现阶段可行的方案包括:

  • 将判定时间设置为 1 帧以上。
  • 自行编写伤害处理逻辑(例如:单独创建一个名为“生命值”的变量,在受到伤害大于等于 0 时,将伤害值代入并减少该变量等)。

以上仅供参考。

感谢您的回答。

暂时先判定为2F,
并考虑将原始威力减半的方针。

不确定在这种情况下是否可以使用相同的方法,但我也曾遇到过类似的问题。由于我是通过“自行实现伤害处理”的方式来解决的,姑且在此分享。

在我的情况下,我完全抛弃了 Actzuku 原有的伤害处理机制(无敌时间设为 0,受到的伤害设为 0),转而通过伤害动作的转换条件来进行处理。

我准备了两个变量,分别通过计时器来设定无敌时间。例如,可以准备名为“对 1P 无敌时间”和“对 2P 无敌时间”的变量。当受到各自玩家的攻击时,设置相应的无敌时间计时器;当对应的计时器归零时,若再次受到攻击,则转换到伤害状态……大概可以这样实现……?

由于 Actzuku 的伤害处理机制不够灵活,我预感可能需要进行各种变通和技巧。

感谢您提供可能有帮助的信息。

攻击方面虽然有些困难,但我会继续通过各种调整来推进。