【发布时间】:2018-03-21 11:00:25
【问题描述】:
我正在注册这个course,他们的代码example 有这个功能,我不明白这个特定的工作原理。
function circRectsOverlap(x0, y0, w0, h0, cx, cy, r) {
var testX=cx;
var testY=cy;
if (testX < x0) testX=x0;
if (testX > (x0+w0)) testX=(x0+w0);
if (testY < y0) testY=y0;
if (testY > (y0+h0)) testY=(y0+h0);
return (((cx-testX)*(cx-testX)+(cy-testY)*(cy-testY))< r*r);
}
前四个参数是矩形的 x 和 y 位置、宽度和高度,后三个参数是 x 和 y 位置以及画布中圆的半径。
如果矩形和圆形接触,函数返回true,因此发生碰撞。
【问题讨论】:
标签: javascript canvas collision-detection