我在Unity的2D游戏中遇到触发器问题。当他用玩家的武器触发时,我想让敌人死去。问题是敌人附有两个碰撞器(标记为#34; Enemy"):
我有剑对象,它有精灵渲染器,盒子对撞机(设置为触发器)和脚本:
void OnTriggerEnter2D(Collider2D other)
{
if(other.tag == "Enemy")
{
if(!other.isTrigger)
{
Debug.Log ("enemy");
Destroy (other.gameObject);
}
}
}
场景截图: http://i.stack.imgur.com/eVtRX.jpg
Enemy gameObject的屏幕截图: http://i.stack.imgur.com/9R5a6.jpg
所以一般来说它有时会起作用,但有时候并不起作用。当我禁用敌人的球对撞机时,一切都很好,但是我需要让它来检查是否有范围内的球员。我该如何解决?
答案 0 :(得分:3)
你应该确定OnEnterCollider2D中的两件事
1)确保不得销毁参与OnEnterCollider2D的游戏对象。如果一个人必须被摧毁,那么它应该在一段时间后被销毁。
2)确保参与碰撞的游戏对象中的一个必须与isKinematic附加的刚体附加未选中。