【代码分享】碰撞检测原理及逻辑表达式
碰撞检测就是检测两个物体边缘是不是有重叠,此例以方形为例,圆形物体暂时不考虑。
假设舞台上有aa和bb两个物体,以下四种情况需要同时满足,才能判断重叠。
1. aa左值 加 aa的宽 大于 bb的左值
{{aa.left}}+{{aa.width}}>{{bb.left}}
2. bb左值 加 bb的宽 大于 aa的左值
{{bb.left}}+{{bb.width}}>{{aa.left}}
3. aa的上值 加 aa的高 大于 bb的上值
{{aa.top}}+{{aa.height}}>{{bb.top}}
4. bb的上值 加 bb的高 大于 aa 的上值
{{bb.top}}+{{bb.height}} > {{aa.top}}
四个行为同时成立就是
{{aa.left}}+{{aa.width}}>{{bb.left}} && {{bb.left}}+{{bb.width}}>{{aa.left}} && {{aa.top}}+{{aa.height}}>{{bb.top}} && {{bb.top}}+{{bb.height}} > {{aa.top}}
可以打开作品看效果或者另存
https://www.mugeda.com/animation/edit/9d204fda
假设舞台上有aa和bb两个物体,以下四种情况需要同时满足,才能判断重叠。
1. aa左值 加 aa的宽 大于 bb的左值
{{aa.left}}+{{aa.width}}>{{bb.left}}
2. bb左值 加 bb的宽 大于 aa的左值
{{bb.left}}+{{bb.width}}>{{aa.left}}
3. aa的上值 加 aa的高 大于 bb的上值
{{aa.top}}+{{aa.height}}>{{bb.top}}
4. bb的上值 加 bb的高 大于 aa 的上值
{{bb.top}}+{{bb.height}} > {{aa.top}}
四个行为同时成立就是
{{aa.left}}+{{aa.width}}>{{bb.left}} && {{bb.left}}+{{bb.width}}>{{aa.left}} && {{aa.top}}+{{aa.height}}>{{bb.top}} && {{bb.top}}+{{bb.height}} > {{aa.top}}
可以打开作品看效果或者另存
https://www.mugeda.com/animation/edit/9d204fda