我有一個檢測,如果子彈擊中敵人,這是一個腳本這是在敵人的一部分:不破壞對象的速度不夠快,造成另一種碰撞
void OnTriggerEnter (Collider other)
{
if (other.tag == "Bullet") {
Destroy (other); // or Destroy (other, 0);
}
}
問題是,當子彈擊中敵人,其健康下降到零(從100),就好像它不止一次點擊一樣(我也使用Debug.log進行了檢查)。
那麼有沒有辦法讓子彈更快地摧毀,以免再次觸發?
此外,這個檢測腳本應該是敵人還是子彈?
而不是Destroy(其他)使用Destroy(other.gameObject)。其他只是一個碰撞引用而不是實際的gameObject本身。 – deepankar
發佈TakeDamage功能。另外,使用'Debug.Log'來檢查'OnTriggerEnter'被調用的次數。 @deepankar你應該將其作爲答案發布,因爲這可能是問題 – Programmer
@Programmer'TakeDamage'確實不是很有趣,即使我刪除了這個調用,也會發生同樣的情況。我添加了debug.log,並且它進入了兩次,即使使用了'Destroy(other.gameObject)'。 – shinzou