找到AABB的原始宽度和高度

时间:2013-02-08 17:20:09

标签: flash collision-detection aabb

我有一个旋转的矩形,我不知道它的原始宽度和高度。由于当前的宽度和高度只是封装矩形的边界框,我如何找到实际的宽度和高度?感谢。

1 个答案:

答案 0 :(得分:0)

您可以使用DisplayObject的getBounds() / getRect()并将显示对象本身作为参数传递。例如如果轮换yourClip,请尝试以下操作:

trace(yourClip.getBounds(yourClip));

它应该非常接近原始尺寸。假设您正在使用显示对象(Sprite,MovieClips等),这可以正常工作。不确定它是否有帮助,但Mike Chambers' collision detection articles非常好。

在评论中你提到了“矩形”。那会是flash.geom.Rectangle吗? 如果您更喜欢仅使用几何类,我想您可以使用flash.geom.Matrix实例来跟踪坐标系。使用Matrix的transformPoint()变换矩形的角点应该是微不足道的。此外,您可以再次使用矩阵在坐标系之间来回移动(以及inverted版本)。 DisplayObject类仍然提供了许多方便的功能,因此您不需要自己进行矩阵数学运算。