C# 为什么OnCollisionInter2D/OnTiggerInter2D不工作?

C# 为什么OnCollisionInter2D/OnTiggerInter2D不工作?,c#,unity3d,C#,Unity3d,我曾经 } 一切都很好。但现在,我打开了圆圈里的触发器。因此,我的游戏对象不会发生碰撞并激活-不工作。IsTrigger属性触发OnTiggerEnter、OnTiggerExit和OnTiggerStay事件,并且不会注册碰撞。如果要使用IsTrigger,必须将OnCollisionInter2D更改为OnTiggerInter2D OnCollision事件和OnTrigger事件是互斥的,它们可以从一个对象一次触发一个或另一个,但不能同时触发两个 从OnTiggerEnter文档: vo

我曾经

}


一切都很好。但现在,我打开了圆圈里的触发器。因此,我的游戏对象不会发生碰撞并激活-不工作。

IsTrigger属性触发OnTiggerEnter、OnTiggerExit和OnTiggerStay事件,并且不会注册碰撞。如果要使用IsTrigger,必须将OnCollisionInter2D更改为OnTiggerInter2D

OnCollision事件和OnTrigger事件是互斥的,它们可以从一个对象一次触发一个或另一个,但不能同时触发两个

从OnTiggerEnter文档:

void OnCollisionEnter2D(Collision2D col)
    {
        if (col.gameObject.tag == "Wall")
        {
            live1--;
   } 
Trigger events are only sent if one of the colliders also has a rigidbody attached.
从OnCollisionCenter文档:

void OnCollisionEnter2D(Collision2D col)
    {
        if (col.gameObject.tag == "Wall")
        {
            live1--;
   } 
Trigger events are only sent if one of the colliders also has a rigidbody attached.

刚体连接你不能同时拥有碰撞和触发器。你需要选择其中一个。