javascript判断碰撞检测详解编程语言

javascript判断碰撞检测

点与矩形的碰撞检测


/**
*
* @param x1 点
* @param y1 点
* @param x2 矩形view x
* @param y2 矩形view y
* @param w 矩形view 宽
* @param h 矩形view 高
* @return
*/
function isCollsion(x1,y1,x2,y2,w,h) {
if (x1 >= x2 && x1 <= x2 + w && y1 >= y2 && y1 <= y2 + h) {
console.log('碰撞');
return true;
}
console.log('没碰撞');
return false;
}

矩形与矩形的碰撞检测


/**
* 检测两个矩形是否碰撞
* @param x1 矩形1view x
* @param y1 矩形1view y
* @param w1 矩形1view 宽
* @param h1 矩形1view 高
* @param x2 矩形2view x
* @param y2 矩形2view y
* @param w2 矩形2view 宽
* @param h2 矩形2view 高
* @return
*/
function isCollsionWithRect(x1,y1,w1,h1,x2,y2,w2,h2) {
if (x1 >= x2 && x1 >= x2 + w2) {
console.log('没碰撞');
return false;
} else if (x1 <= x2 && x1 + w1 <= x2) {
console.log('没碰撞');
return false;
} else if (y1 >= y2 && y1 >= y2 + h2) {
console.log('没碰撞');
return false;
} else if (y1 <= y2 && y1 + h1 <= y2) {
console.log('没碰撞');
return false;
}
console.log('碰撞');
return true;
}

ps:不支持旋转的矩形碰撞测试

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/18802.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论