Egret社区

egret碰撞检测

2018-9-26 15:38
99613
            //碰撞检测
            public static testHit(obj1:egret.DisplayObject, obj2:egret.DisplayObject):boolean {
                var b1Rect:egret.Rectangle = obj1.getBounds();
                var b2Rect:egret.Rectangle = obj2.getBounds();
                b1Rect.x = obj1.x; b1Rect.y = obj1.y;
                b2Rect.x = obj2.x; b2Rect.y = obj2.y;
                return b1Rect.intersects(b2Rect);
            }
这个方法适用旋转矩形碰撞吗?

分享到 :
0 人收藏

13 个回复

倒序浏览
H_oHO  登堂入室 | 2018-9-26 15:48:07
不准确,要求不高可以用~
bl_h  略有小成 | 2018-9-26 15:51:11
H_oHO 发表于 2018-9-26 15:48
不准确,要求不高可以用~

有什么精确的旋转矩形碰撞方法吗,急需
山猫  官方团队 | 2018-9-26 15:53:56
山猫  官方团队 | 2018-9-26 15:54:32
本帖最后由 山猫 于 2018-9-26 16:13 编辑

你要是觉得不行了,那就用圆的碰撞检测
bl_h  略有小成 | 2018-9-26 15:56:26
山猫 发表于 2018-9-26 15:53
https://blog.csdn.net/jiangguilong2000/article/details/80483585

这几个方法都尝试过了,都不能用
bl_h  略有小成 | 2018-9-26 16:00:30
山猫 发表于 2018-9-26 15:54
你不行了,那圆的碰撞检测

http://www.7724.com/pc/game/gameplay/?pinyin=xiafengsheji
就是这种碰撞检测
山猫  官方团队 | 2018-9-26 16:24:13
let fromX=1;let fromY=1;let toX=10;let toY=10;let from=new egret.Point(fromX,fromY);let to=new egret.Point(toX,toY);let distance=egret.Point.distance(from,to);  if(distance<=width1/2+width2/2){//todo
撞了}通过计算圆心之间的距离进行检测是否碰撞

bl_h  略有小成 | 2018-9-26 16:25:09
山猫 发表于 2018-9-26 15:54
你要是觉得不行了,那就用圆的碰撞检测

我就是想问下圆和旋转矩形的碰撞检测怎么判定
山猫  官方团队 | 2018-9-26 16:30:56
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部