Pla*_*ble 0 math intersection actionscript-3
一直在努力想出一个解决方案来返回一个代表两个矩形之间实际交叉点的矩形.
我正在寻找的是这样的: MSDN - Rectangle :: Intersect方法(矩形,矩形)
如图所示,我希望从两个矩形的交叉处返回绿色的矩形.不是某些布尔值true或false.

我将接受代码示例或简单理论作为答案.提前致谢!
查看Rectangle.intersection()方法,它就是您所需要的.
基准intersection与min/max计算:
var t:int = getTimer();
var r3:Rectangle = new Rectangle();
var r1:Rectangle = new Rectangle(0, 0, 100, 100);
var r2:Rectangle = new Rectangle(50, 50, 100, 100);
var i:int;
for(i = 0; i < 100000; i++)
{
r3.left = Math.max(r1.left, r2.left);
r3.right = Math.min(r1.right, r2.right);
r3.top = Math.max(r1.top, r2.top);
r3.bottom = Math.min(r1.bottom, r2.bottom);
}
trace("min/max: t = ", (getTimer() - t), "ms");
t = getTimer();
for(i = 0; i < 100000; i++)
{
r3 = r1.intersection(r2);
}
trace("intersection: t = ", (getTimer() - t), "ms");
Run Code Online (Sandbox Code Playgroud)
出:
min/max: t = 167 ms
intersection: t = 87 ms
Run Code Online (Sandbox Code Playgroud)