我有一个脚本,在与敌人碰撞时箭头应该消失。我用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