矩形碰撞检测

碰撞检测 想法

两个矩形要发生碰撞 直接判断一个矩形的四个角在不在另外一个矩形中就可以

我们这么去约定变量(图中bottom 有拼写错误)

分别判断四个角 如果

xleft< x < xright && ybottom < y < ytop

判断四次 就可以判断是否发生碰撞

这个方法正确吗?

那你就完蛋了,只做这四个判断是不够的

四个角都在矩形外面 但是还是发生了碰撞

所以 还要判断一次 用这个被碰撞体 的一个角 (x2,y2)反过来还要判断一次 在不在碰撞体内才行。

这个方法是正确的但是太不够好用了

方法优化

如果 t1 < b2 也就是说 我的顶部都在你的底部下面 那么一定没有发生碰撞

所以 一定没有发生碰撞的条件可以写成

if(t1 < b2 || b1 > t2 || l1 > r2 || r1 <l2){

没有碰撞

}else{

发生碰撞

}

这样是不是超级简单?

相关推荐
发现一只大呆瓜3 小时前
深度解密 Rollup 插件开发:核心钩子函数全生命周期图鉴
前端·vite
Dxy12393102163 小时前
Python 使用正则表达式将多个空格替换为一个空格
开发语言·python·正则表达式
java_nn4 小时前
一文了解前端技术
前端
发现一只大呆瓜4 小时前
深度解析 Rollup 配置与 Vite 生产构建流程
前端·vite
小码哥_常5 小时前
安卓黑科技:让手机成为你的“跌倒保镖”
前端
故事和你915 小时前
洛谷-数据结构1-1-线性表1
开发语言·数据结构·c++·算法·leetcode·动态规划·图论
小李子呢02115 小时前
前端八股Vue---Vue2和Vue3的区别,set up的用法
前端·javascript·vue.js
m0_647057965 小时前
Harness Engineering 实践指南
前端
邂逅星河浪漫6 小时前
【银行内网开发-管理端】Vue管理端+Auth后台开发+Nginx配置+Linux部署(详细解析)
linux·javascript·css·vue.js·nginx·html·前后端联调
JJay.6 小时前
Android BLE 稳定连接的关键,不是扫描,而是 GATT 操作队列
android·服务器·前端