Apache flex 计算flex中矩形的中心点

Apache flex 计算flex中矩形的中心点,apache-flex,rect,Apache Flex,Rect,我有两个矩形: 变量rect1:Rectangle=新矩形(66147,89,67) 变量rect2:Rectangle=新矩形(155147,89,67) 如何根据这些矩形的x和y位置计算其中心点。我想计算中心点相对于舞台的位置,解决方案很简单-首先定义第三个矩形的边界,该边界覆盖两个矩形,并计算该矩形的中心 var left:Number = rect1.x < rect2.x ? rect1.x : rect2.x; var right:Number = rect1.x + rect

我有两个矩形:

变量rect1:Rectangle=新矩形(66147,89,67)

变量rect2:Rectangle=新矩形(155147,89,67)


如何根据这些矩形的x和y位置计算其中心点。我想计算中心点相对于舞台的位置,解决方案很简单-首先定义第三个矩形的边界,该边界覆盖两个矩形,并计算该矩形的中心

var left:Number = rect1.x < rect2.x ? rect1.x : rect2.x;
var right:Number = rect1.x + rect1.width > rect2.x + rect2.width ? rect1.x + rect1.width - left : rect2.x + rect2.width - left;
var top:Number = rect1.y < rect2.y ? rect1.y : rect2.y;
var bottom:Number = rect1.y + rect1.height > rect2.y + rect2.height ? rect1.y + rect1.height - top : rect2.y + rect2.height - top;

var centerX:Number = left + 0.5 * right;
var centerY:Number = top + 0.5 * bottom; 
var left:Number=rect1.xrect2.x+rect2.width?rect1.x+rect1.width-left:rect2.x+rect2.width-left;
变量top:Number=rect1.yrect2.y+rect2.height?rect1.y+rect1.height-top:rect2.y+rect2.height-top;
var centerX:Number=左+0.5*右;
变量中心:数值=顶部+0.5*底部;
以全局方式。 首先,在本例中,您需要找到矩形形状的最小点和最大点。 您需要使用min.x+(max.x-min.x)/2和min.y+(max.y-min.y)/2

下面是如何做到这一点的代码

var rects:Array={rectangle1,rectangle2}
var min:Point=new Point(Number.MAX_VALUE,NUMBER.MAX_VALUE)
var max:Point=new Point(Number.MIN_VALUE,NUMBER.MIN_VALUE)
foreach(var rect:rectangle in rects)
{
    min.x=Math.min(min.x,rect.left);
    min.y=Math.min(min.y,rect.top);
    max.x=Math.max(max.x,rect.right);
    max.y=Math.max(max.y,rect.bottom);
}
变量中心:点=新点(最小x+(最大x-最小x)/2,最小y+(最大y-最小y)/2) 如果您的矩形位于另一个容器中而不是舞台中 你可以打电话
contaner.localToGLobal(中间)结果是相对于舞台的位置点

我不明白。我想知道两个矩形的中心点
centerX
centerY
是两个矩形中心点的坐标。