3
嘿,我试图让画布中的两个对象碰撞的一面。以下是我用于碰撞检测的内容,但它仅检查碰撞,没有特定的一面。Javascript画布碰撞侧检测
凡O1和O2是taht具有属性的对象:
x
- 在X轴上
y
位置 - 位置在Y轴上
w
- 矩形的宽度
h
- 的高度矩形
var collidesWith = function (o2) {
var o1 = this;
if ((o1.y + o1.h) < o2.y) {
return 0;
}
if (o1.y > (o2.y + o2.h)) {
return 0;
}
if ((o1.x + o1.w) < o2.x) {
return 0;
}
if (o1.x > (o2.x + o2.w)) {
return 0;
}
return 1;
};
编辑:下面的代码我想出了有关元素的顶部碰撞检测:
if (
(o1.y - o1.dy >= o2.y) &&
(o1.y - o1.dy <= o2.y + o2.h) &&
(o1.x + o1.w >= o2.x) &&
(o1.x <= o2.x + o2.w)
) {
// We have collision at the top end
}
那么,我不得不做更多的计算才能使它正常工作,但是你给我指出了方向。谢谢:) – Pockata 2011-02-27 11:44:15
如果你能分享你必须做的计算,那将是非常棒的。会很好地完成这个问题:) – Henryz 2011-03-02 13:27:22