代码之家  ›  专栏  ›  技术社区  ›  Kubu320

OnTriggerExit和OnTriggerEnter不工作

  •  1
  • Kubu320  · 技术社区  · 2 年前

    我有个问题。我想要 isOffRoad 每当轮子进入附加到带有标记的对象的碰撞器时变为真 offRoadBorder ,并在退出时变为虚假。似乎什么都没用。对撞机和车轮都连接了rigidbody2D。提前谢谢。

    public bool isOffRoad = false;
    void OnTriggerEnter2D(Collider2D col)
    {
        Debug.Log("a");
            
        if (col.tag == "offRoadBorder")
        {
            isOffRoad = true;
        }
    }
        
    void OnTriggerExit2D(Collider2D col)
    {
        Debug.Log("b");
            
        if (col.tag == "offRoadBorder")
        {
            isOffRoad = false;
        }
    }
    
    2 回复  |  直到 2 年前
        1
  •  0
  •   KiynL    2 年前

    检查 IsTrigger 碰撞器组件中的字段。触发器用于具有脚本使用的物理空碰撞器。

    enter image description here

    否则使用OnCollision2D:

    void OnCollisionEnter2D(Collision2D col)
    {
        if (col.transform.CompareTag("offRoadBorder")) isOffRoad = true;
    }
    void OnCollisionExit2D(Collider2D col)
    {
        if (col.transform.CompareTag("offRoadBorder")) isOffRoad = false;
    }
    
        2
  •  0
  •   Lieke    2 年前

    它们是否都有一个碰撞器,并且两个碰撞器是否都启用了“Is触发器”?