別の衝突が起こらない:十分な速さのオブジェクトを破壊し、弾丸が敵にだスクリプトの一部だ敵に当たった場合、私は検出を持って
void OnTriggerEnter (Collider other)
{
if (other.tag == "Bullet") {
Destroy (other); // or Destroy (other, 0);
}
}
弾丸が敵に当たったときに問題があり、その1回以上ヒットしたかのように(100から)0に低下します(Debug.logでも確認しました)。
弾丸を速く破壊して再びトリガーしないようにする方法はありますか?
また、この検出スクリプトを敵や弾に載せるべきですか?
Destroy(other)ではなくDestroy(other.gameObject)を使用します。 otherは、実際のgameObject自体ではなく、単にコライダーの参照です。 – deepankar
'TakeDamage'機能を投稿してください。また、 'Debug.Log'を使って' OnTriggerEnter'が何回呼び出されたかを調べます。 @deepankarそれは問題の可能性が高いので答えとして投稿してください – Programmer
@Programmer 'TakeDamage'は本当に興味深いものではありません。私はその呼び出しを削除しても同じことが起こります。私はdebug.logを追加し、 'Destroy(other.gameObject) 'でも2回入力します。 – shinzou