画布html5中的碰撞检测

时间:2014-01-03 13:55:13

标签: javascript jquery html5 canvas

我有这种碰撞检测功能,但它对我不起作用。 当圆圈击中横杆时,它应该放在横杆底部和游戏结束处。 这是我的jsfiddle:http://jsfiddle.net/seekpunk/QnBhK/3/

因为你可以看到问题正在发生,并且球被卡在空中而不是杆的底部,我觉得这个功能不能正常工作

 function collides(rx, ry, rw, rh, cx, cy, cradius) {
            var x = Math.abs(cx - rx);
            var y = Math.abs(cy - ry);
            if (x > rw / 2 + cradius) { return (false); };
            if (y > rh / 2 + cradius) { return (false); };
            if (x <= rw / 2) { return (true); };
            if (y <= rh / 2) { return (true); };
            var dx = x - rw / 2;
            var dy = y - rh / 2
            return (dx * dx + dy * dy <= cradius * cradius);
        }

0 个答案:

没有答案