我这个组件 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');
}
}

