首先2个刚体,它俩个的碰撞体都可以产生碰撞,
A物体的碰撞体是矩形(PhysicsBoxCollider)。
B物体的碰撞体是多边形(PhysicsPolygonCollider)。
然后矩形碰撞体,也就是collider勾选sensor,然后在此刚体下添加脚本,脚本添加2个回调函数:
onBeginContact: function (contact, selfCollider, otherCollider) {
console.log(‘接触到碰撞’);
}
onEndContact (contact, selfCollider, otherCollider) {
console.log(‘没有接触到碰撞’);
}
现在问题来了,看图:

A物体Box碰撞为红色,B物体多边形碰撞体为蓝色,控制台打印了:console.log(‘接触到碰撞’);
好,现在我把Box碰撞体往后移动一点,如图:

当红色碰撞体移出了多边形内部有条蓝色淡淡的区域(也就是橙色包围的那个区域)后,控制台打印了:
console.log(‘没有接触到碰撞’);
很明显,实际上矩形碰撞体还停留在多边形的碰撞体内,但是却触发了onEndContact,
请教大大们如何去解决这个问题,而且还是必现的,虽然我发了很多的帖,但是官网人员却从来没有解答过我问题,一次都没有,求翻牌。TestPhysicsDemo.rar (446.2 KB)