0

如果子弹击中作为敌人脚本一部分的敌人,我会检测到:

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

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

那么有没有办法让子弹更快地摧毁,这样它就不会再次触发了?

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

4

1 回答 1

3

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

也只是为了良好的做法,而不是将 tag 与 == use 进行比较other.CompareTag(String tagName)。它的内存消耗更少。

于 2017-09-15T22:21:43.567 回答