每次写点游戏都要用到这个函数,每次都要去找,这次干脆保存起来,也顺便供大家参考一下
由于在写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修改,今天在网上看到一片写的很好的四叉树判断碰撞的算法讲解,分享分享