没有足够快地破坏物体并引起另一次碰撞
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)
比较标签。它占用的内存更少。
我检测到子弹是否击中敌人,这是敌人身上的脚本的一部分:
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)
比较标签。它占用的内存更少。