我在设置碰撞检测时遇到问题。我已经关注了这个论坛和网络上的一些帖子,但似乎无法让它发挥作用。我正在尝试使用位于函数中的方形边框方法。
Square是使用用户输入在画布上移动的形状,而impactSquare是我试图测试其影响的固定形状。我似乎无法弄清楚哪个部分导致它无法工作。
//square bounding box
if (impactSquare.x < square.x + square.width &&
impactSquare.x + impactSquare.width > square.x &&
impactSquare.y < square.y + square.height &&
impactSquare.height + impactSquare.y > square.y) {
// collision detected!
//square.graphics.beginFill("#F4F4F4");
console.log("Collision Detected");
} else {
// no collision
//square.graphics.beginFill("#FF0000");
console.log("No Collision");
}
//stage.update();
感谢您提供的帮助!
答案 0 :(得分:1)
您可能遇到问题,因为您正在尝试使用匹配完美的hitTest。
在这里,使用它:https://github.com/olsn/Collision-Detection-for-EaselJS就像一个魅力。
如果交叉点是空的,那是因为没有碰撞。
if (intersection !== null) {
// hit
}
干杯,