判断矩形重合的函数

     每次写点游戏都要用到这个函数,每次都要去找,这次干脆保存起来,也顺便供大家参考一下

   由于在写html5小游戏,所以用的javascript,但是算法什么的,不在乎语言,各位拿去自己改造一下就ok了

function hit(x1,y1,w1,h1,x2,y2,w2,h2){
    var x01 = x1;
    var y01 =y1; 
    var x02 = x1+w1;
    var y02 = y1+h1;
    var x11 = x2;
    var y11 = y2; 
    var x12 = x2+w2;
    var y12 = y2+h2;
    var zx = Math.abs(x01+x02-x11-x12); //两个矩形重心在x轴上的距离的两倍
    var x = Math.abs(x01-x02)+Math.abs(x11-x12); //两矩形在x方向的边长的和
    var zy = Math.abs(y01+y02-y11-y12); //重心在y轴上距离的两倍
    var y = Math.abs(y01-y02)+Math.abs(y11-y12); //y方向边长的和
    if(zx <= x && zy <= y)
        return true;
    else
       return false;
}

2016-6-15修改,今天在网上看到一片写的很好的四叉树判断碰撞的算法讲解,分享分享

http://bbs.9ria.com/thread-148625-1-1.html 

猜你喜欢

转载自wenchangping.iteye.com/blog/2303070