2D里面这个方法 onBeginContact 怎么碰撞了也不执行啊 愁死人了 爸爸们求赐教

我这个组件 FoodCollision 挂到了预制体上 但是预制体也和别的节点都设置了BoxCollider2D 还有RigidBody2D 触碰了以后 回调函数onBeginContact 就是不执行 为什么不执行呢
start() {

    console.log('FoodCollision started');

    let collider = this.getComponent(Collider2D);

    if (collider) {

        console.log('FoodCollision has collider');

        collider.on('begin-contact', this.onBeginContact, this);

        console.log("事件监听器注册完成");

        // collider.on('end-contact', this.onEndContact, this);

    }

}

onBeginContact(selfCollider: Collider2D, otherCollider: Collider2D, contact: IPhysics2DContact){ //event: ICollisionEvent

    console.log('FoodCollision begin contact');

    if(this._hasTriggered) return;

    if(otherCollider.node.name === 'Bottom'||otherCollider.node.name.includes('Food')){

        this._hasTriggered = true;

        this.node.emit('food-collided');

    }

}

不知道你的RigidBody2D的Enabled Contact Listener勾了没有? :no_mouth:
image

1.要带上刚体 2记得开启碰撞(好像默认是开)3项目设置里选用物理引擎也要设置 。检查这三点

千万别说是 碰撞分组 没配置

以解决 感谢