矩形碰撞检测

碰撞检测 想法

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

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

分别判断四个角 如果

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

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

这个方法正确吗?

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

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

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

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

方法优化

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

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

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

没有碰撞

}else{

发生碰撞

}

这样是不是超级简单?

相关推荐
llq_3502 小时前
为什么 npm view yarn version 显示 1.22.22?
前端
凤年徐2 小时前
【C++模板编程】从泛型思想到实战应用
java·c语言·开发语言·c++
aesthetician3 小时前
ReactFlow:构建交互式节点流程图的完全指南
前端·流程图·react
neo_dowithless3 小时前
多语言维护太痛苦?我自研了一个翻译自动化 CLI 工具
前端·ai编程
小徐_23333 小时前
老乡鸡也开源?我用 Trae SOLO 做了个像老乡鸡那样做饭小程序!
前端·trae
大飞pkz3 小时前
【设计模式】组合模式
开发语言·设计模式·c#·组合模式
Dream achiever3 小时前
6.WPF控件---Label
开发语言·wpf
前端伪大叔3 小时前
第13篇:🎯 如何精准控制买入卖出价格?entry/exit\_pricing 实战配置
javascript·python
荒诞英雄3 小时前
菠萝滞销,帮帮我们(多个APP实例间pinia混乱)
前端·架构