Rectangle オブジェクトをサイズ変更および移動するには多数の方法があります。
x
および
y
プロパティを変更すると、直接に Rectangle オブジェクトの位置を移動できます。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)
次のように、Rectangle オブジェクトの
offset()
メソッドでも位置を移動できます。
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()
メソッドも同様に機能しますが、パラメーターとして
x
および
y
のオフセット値ではなく Point オブジェクトを指定します。
Rectangle オブジェクトの
inflate()
メソッドに
dx
および
dy
の 2 つのパラメーターを指定してサイズを変更することもできます。
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()
メソッドも同様に機能しますが、パラメーターとして
dx
および
dy
の値ではなく Point オブジェクトを指定します。