这似乎有点嚼头:AS3 - 臭虫Rectangle.inflatePoint() - 不消极处理协调好
var r:Rectangle = new Rectangle();
trace("initial rect: " + r); // (x=0, y=0, w=0, h=0)
var p:Point = new Point(-5, -3); // (x=-5, y=-3)
trace("point: " + p);
r.inflatePoint(p);
trace("inflated rect: " + r); // (x=5, y=3, w=-10, h=-6)
我希望的结果是(X = -5,Y = - 3,宽度= 5,高度= 3)。
这里返回预期结果的实现:
public static function inflateRectByPoint(r:Rectangle,p:Point):void
{
var d:Number;
d = p.x - r.x;
if (d < 0)
{
r.x += d;
r.width -= d;
}
else if (d > r.width)
{
r.width = d;
}
d = p.y - r.y;
if (d < 0)
{
r.y += d;
r.height -= d;
}
else if (d > r.height)
{
r.height = d;
}
}
这是一个问题吗? – OcuS 2010-01-25 22:08:50