js简单元素碰撞检测

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种情况满足其中一种,即不会发生碰撞




 
posted @ 2018-08-09 17:29  诺基亚方舟  阅读(1524)  评论(0编辑  收藏  举报