您可以使用多種方式來調整 Rectangle 物件的大小及位置。
您可以直接變更 Rectangle 物件的
x
和
y
屬性,來調整該物件的位置。此變更並不會影響 Rectangle 物件的寬度或高度。
import flash.geom.Rectangle;
var x1:Number = 0;
var y1:Number = 0;
var width1:Number = 100;
var height1:Number = 50;
var rect1:Rectangle = new Rectangle(x1, y1, width1, height1);
trace(rect1) // (x=0, y=0, w=100, h=50)
rect1.x = 20;
rect1.y = 30;
trace(rect1); // (x=20, y=30, w=100, h=50)
顯示以下程式碼時,在您變更 Rectangle 物件的
left
或
top
屬性後,就會重新定位矩形。矩形的
x
和
y
屬性分別符合
left
和
top
屬性。但是,由於 Rectangle 物件的左下角位置不會更改,因此它的大小會改變:
import flash.geom.Rectangle;
var x1:Number = 0;
var y1:Number = 0;
var width1:Number = 100;
var height1:Number = 50;
var rect1:Rectangle = new Rectangle(x1, y1, width1, height1);
trace(rect1) // (x=0, y=0, w=100, h=50)
rect1.left = 20;
rect1.top = 30;
trace(rect1); // (x=20, y=30, w=80, h=20)
同樣地,如下列範例所示,若您變更 Rectangle 物件的
bottom
或
right
屬性,它的左上角位置不會更改。矩形會隨之調整大小。
import flash.geom.Rectangle;
var x1:Number = 0;
var y1:Number = 0;
var width1:Number = 100;
var height1:Number = 50;
var rect1:Rectangle = new Rectangle(x1, y1, width1, height1);
trace(rect1) // (x=0, y=0, w=100, h=50)
rect1.right = 60;
trect1.bottom = 20;
trace(rect1); // (x=0, y=0, w=60, h=20)
您也可以使用
offset()
方法,重新調整 Rectangle 物件的位置,如下所示:
import flash.geom.Rectangle;
var x1:Number = 0;
var y1:Number = 0;
var width1:Number = 100;
var height1:Number = 50;
var rect1:Rectangle = new Rectangle(x1, y1, width1, height1);
trace(rect1) // (x=0, y=0, w=100, h=50)
rect1.offset(20, 30);
trace(rect1); // (x=20, y=30, w=100, h=50)
offsetPt()
方法具有相似的運作方式,不過它會使用 Point 物件做為它的參數,而非使用
x
和
y
偏移值。
您也可以使用
inflate()
方法 (包含
dx
和
dy
兩個參數),調整 Rectangle 物件的大小。
dx
參數代表像素的數目,也就是矩形從中心點往左方或右方移動的距離。
dy
參數代表像素的數目,也就是矩形從中心點往上方或下方移動的距離。
import flash.geom.Rectangle;
var x1:Number = 0;
var y1:Number = 0;
var width1:Number = 100;
var height1:Number = 50;
var rect1:Rectangle = new Rectangle(x1, y1, width1, height1);
trace(rect1) // (x=0, y=0, w=100, h=50)
rect1.inflate(6,4);
trace(rect1); // (x=-6, y=-4, w=112, h=58)
inflatePt()
方法也具有相似的運作方式,不過它會使用 Point 物件做為它的參數,而非使用
dx
和
dy
值。