我有一個腳本,在與敵人碰撞時箭頭應該消失。我用Unity Destroy(gameObject)殺死多個碰撞體上的父對象和碰撞觸發
function OnTriggerEnter2D(coll: Collider2D) {
coll.gameObject.BroadcastMessage("ApplyDamage", 10);
Destroy (gameObject);
}
的第一個問題是,當遊戲對象被銷燬,我得到一個錯誤,說:The object of type 'Transform' has been destroyed but you are still trying to access it.
似乎因爲父對象被銷燬。我也有另一個問題。當我在敵人的2D上面堆疊敵人時,他們停在一個cre location位置,有時候有超過1個敵人共享相同的碰撞區域。一箭就會對同一地點的所有敵人造成傷害,而不是同一地點的一個敵人。
var health = 10;
function ApplyDamage (damage : float) {
health -= damage;
if (health <= 0) {
Destroy(gameObject);
}
}
這些應該是2個問題,哪裏的代碼是拋出錯誤的代碼? – Roberto