每次写点游戏都要用到这个函数,每次都要去找,这次干脆保存起来,也顺便供大家参考一下
由于在写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


3641

被折叠的 条评论
为什么被折叠?



