function checkCrash(Ax,Ay,Awidth,Aheight,Bx,By,Bwidth,Bheight){ var bool=true; if((Ax+Awidth)<Bx||(Bx+Bwidth)<Ax||(Ay+Aheight)<By||(By+Bheight)<Ay){ bool=false } return bool }
Ax,Ay,Awidth,Aheight 分別為元素A的x坐標、y坐標、寬度、高度
Bx,By,Bwidth,Bheight 分別為元素B的x坐標、y坐標、寬度、高度
思路:
假設A元素在中間:
B元素整體在邊界線3上方,A與B不可能發生碰撞
B元素整體在邊界線4下方,A與B不可能發生碰撞
B元素整體在邊界線1左方,A與B不可能發生碰撞
B元素整體在邊界線2右方,A與B不可能發生碰撞
當以上4種情況滿足其中一種,即不會發生碰撞