两个碰撞器在一个游戏对象中如何在与另一个碰撞时区分它们?

时间:2015-12-22 21:44:15

标签: unity3d

我正在制作一个2D游戏,有一个玩家有两个对撞机:顶部有一个盒子对撞机2D,另一个是小圆对撞机2D底部。当玩家跳到盒子上时他会没事的,但是当他用他的脸撞到盒子(盒子对撞机2D)时他会死吗?我怎样才能做到这一点?我尝试了以下代码,但它不起作用。请帮帮我。谢谢!

 if (GetComponent<Collider2D>().GetType() == typeof(BoxCollider2D))
 {
 //do something
 }
 if (GetComponent<Collider2D>().GetType() == typeof(CircleCollider2D))
 {
 //do something
 }

1 个答案:

答案 0 :(得分:0)

如果您想获得某个BoxCollider,可以使用GetComponent<BoxCollider2D>()GetComponent<CircleCollider2D>()

但是,我不知道如何获取此信息并检查哪一个触发OnCollisionEnter,除非您将一个碰撞器设置为触发器,并使用OnTriggerEnter作为一个,{{1另一个。

我建议在播放器上放置两个儿童游戏对象,并在每个游戏对象上放置两个碰撞器,并在自己的OnCollisionEnter

中处理每个事件