AABB碰撞检测的原理:
说起来有点绕,请看代码
function checkCollision(rect1, rect2) {
// 检查两个矩形是否在水平方向上重叠
const horizontalOverlap = rect1.left < rect2.right && rect2.left<rect1.right;
// 检查两个矩形是否在垂直方向上重叠
const verticalOverlap = rect1.top < rect2.bottom && rect2.top<rect1.bottom;
// 如果两个矩形在水平和垂直方向上都重叠,则发生碰撞
return horizontalOverlap && verticalOverlap;
}
优点:代码简单,运行效率高。
缺点:毕竟是矩形,有棱有角的,碰撞起来有点粗糙,不太适合不规则物体的碰撞检测。
所以Phaser3里有另外一个物理引擎MatterJS,它是OBB碰撞原理,能应对复杂的碰撞要求。
水瓶男爱上你的细节(水瓶座男人喜欢你的独特表现——深度解析与实例分享)
2025-08-13 02:26:01
老公变心前后的表现有哪些(三个反常举动,说明男人早就变心了)
2025-08-11 05:54:20