Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 画布html5中的冲突检测_Javascript_Jquery_Html_Canvas - Fatal编程技术网

Javascript 画布html5中的冲突检测

Javascript 画布html5中的冲突检测,javascript,jquery,html,canvas,Javascript,Jquery,Html,Canvas,我有这个碰撞检测功能,但它不适合我。 当圆圈碰到横杆时,它应该放在横杆底部,游戏结束。 这是我的JSFIDLE: 正如你所看到的,一个问题正在发生,球被卡在空气中而不是杆的底部,我认为这个功能不能正常工作 function collides(rx, ry, rw, rh, cx, cy, cradius) { var x = Math.abs(cx - rx); var y = Math.abs(cy - ry); if

我有这个碰撞检测功能,但它不适合我。 当圆圈碰到横杆时,它应该放在横杆底部,游戏结束。 这是我的JSFIDLE:

正如你所看到的,一个问题正在发生,球被卡在空气中而不是杆的底部,我认为这个功能不能正常工作

 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);
        }
功能冲突(rx、ry、rw、rh、cx、cy、cradius){
var x=数学绝对值(cx-rx);
var y=数学绝对值(cy-ry);
如果(x>rw/2+cradius){return(false);};
如果(y>rh/2+cradius){return(false);};

如果(x)当我运行此测试时,球位于页面底部,当我击中空格键时,球会上下跳动。你使用的浏览器是什么?我使用的是FFyes,游戏的目标是:当你击中其中一个空格键时,球应该放在空格键的底部,你已经点击了!我发布了你正在使用的代码ng昨晚很晚了,由于我的疲劳,它有一个拼写错误和一个遗漏。现在修复了…非常抱歉!请查看原始帖子获得修复的答案(再次,抱歉):非常感谢您提供了这个精彩的答案