没有足够快地破坏物体并引起另一次碰撞

Not destroying objects fast enough and causing another collision

我检测到子弹是否击中敌人,这是敌人身上的脚本的一部分:

void OnTriggerEnter (Collider other)
{
    if (other.tag == "Bullet") {
        Destroy (other); // or Destroy (other, 0);
    }
}

问题是当子弹击中敌人时,它的生命值会下降到零(从 100),就好像它被击中了不止一次(我也检查过 Debug.log)。

那么有没有什么办法可以让子弹更快的销毁从而不再触发呢?

还有,这个检测脚本应该在敌人身上还是在子弹上?

而不是 Destroy(other) 使用 Destroy(other.gameObject)。 other 只是一个碰撞器参考,而不是实际的游戏对象本身。

也只是为了更好的练习而不是使用 == 使用 other.CompareTag(String tagName) 比较标签。它占用的内存更少。