| 套件 | flash.geom | 
| 類別 | public class Rectangle | 
| 繼承 | Rectangle    Object | 
| 子類別 | RoundedRectangle | 
| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
Rectangle 類別的 x、y、width 和 height 屬性都是互相獨立的,因此變更其中任何一個屬性的值並不會對其他屬性造成影響。 不過,right 和 bottom 屬性則與這四個屬性完全相關。 例如,如果變更了 right 屬性值,width 屬性值就會變更;如果變更了 bottom 屬性值,height 屬性值就會變更。 
下列方法和屬性都會使用 Rectangle 物件:
- BitmapData 類別的 
applyFilter()、colorTransform()、copyChannel()、copyPixels()、draw()、fillRect()、generateFilterRect()、getColorBoundsRect()、getPixels()、merge()、paletteMap()、pixelDisolve()、setPixels()和threshold()方法以及rect屬性 - DisplayObject 類別的 
getBounds()和getRect()方法以及scrollRect和scale9Grid屬性 - TextField 類別的 
getCharBoundaries()方法 - Transform 類別的 
pixelBounds屬性 - Sprite 類別之 
startDrag()方法的bounds參數 - PrintJob 類別之 
addPage()方法的printArea參數 
您可以使用 new Rectangle() 建構函式來建立 Rectangle 物件。
                  注意:Rectangle 類別不會定義矩形的 Shape 顯示物件。 若要在畫面上繪製矩形 Shape 物件,請使用 Graphics 類別的 drawRect() 方法。
相關 API 元素
flash.display.BitmapData
flash.display.DisplayObject
flash.display.NativeWindow
flash.text.TextField.getCharBoundaries()
flash.geom.Transform.pixelBounds
flash.display.Sprite.startDrag()
flash.printing.PrintJob.addPage()
| 屬性 | 定義自 | ||
|---|---|---|---|
| bottom : Number 
	y 和 height 屬性的總和。  | Rectangle | ||
| bottomRight : Point 
	Rectangle 物件右下角的位置,這個位置會以 right 和 bottom 屬性值來決定。  | Rectangle | ||
![]()  | constructor : Object 
	 類別物件的參照或是特定物件實體的建構函數。  | Object | |
| height : Number 
	矩形的高度,以像素為單位。  | Rectangle | ||
| left : Number 
	矩形左上角的 x 座標。  | Rectangle | ||
| right : Number 
	x 和 width 屬性的總和。  | Rectangle | ||
| size : Point 
	Rectangle 物件的大小,以 Point 物件的 width 和 height 屬性值來表示。  | Rectangle | ||
| top : Number 
	矩形左上角的 y 座標。  | Rectangle | ||
| topLeft : Point 
	Rectangle 物件左上角的位置,這個位置會以該點的 x 及 y 值來決定。  | Rectangle | ||
| width : Number 
	矩形的寬度,以像素為單位。  | Rectangle | ||
| x : Number 
	矩形左上角的 x 座標。  | Rectangle | ||
| y : Number 
	矩形左上角的 y 座標。  | Rectangle | ||
| 方法 | 定義自 | ||
|---|---|---|---|
	會使用 x 和 y 參數指定之左上角以及指定的寬度和高度,建立新的 Rectangle 物件。  | Rectangle | ||
	傳回新的 Rectangle 物件,該物件具有與原始 Rectangle 物件相同的 x、y、width 和 height 屬性值。  | Rectangle | ||
	決定指定的點是否包含在此 Rectangle 物件所定義的矩形區域中。  | Rectangle | ||
	決定指定的點是否包含在此 Rectangle 物件所定義的矩形區域中。  | Rectangle | ||
	判斷 rect 參數指定的 Rectangle 物件是否包含在此 Rectangle 物件內。  | Rectangle | ||
	 將來源 Rectangle 物件中的所有矩形資料複製到呼叫的 Rectangle 物件。  | Rectangle | ||
	判斷在 toCompare 參數中指定的物件是否等於此 Rectangle 物件。  | Rectangle | ||
![]()  | 
	 指出物件是否有已定義的指定屬性。  | Object | |
	會以指定的量來增加 Rectangle 物件的大小 (以像素為單位)。  | Rectangle | ||
	 增加 Rectangle 物件的大小。  | Rectangle | ||
	如果在 toIntersect 參數中指定的 Rectangle 物件與此 Rectangle 物件有交集,便以 Rectangle 物件的形式傳回交集區域。  | Rectangle | ||
	判斷在 toIntersect 參數中指定的物件是否與此 Rectangle 物件有交集。  | Rectangle | ||
	決定此 Rectangle 物件是否為空白。  | Rectangle | ||
![]()  | 
	 指出 Object 類別的實體是否位於指定為參數的物件原型鏈中。  | Object | |
	 依照指定的數量調整 Rectangle 物件的位置 (以它的左上角為準)。  | Rectangle | ||
	 使用 Point 物件做為參數來調整 Rectangle 物件的位置。  | Rectangle | ||
![]()  | 
	 指出指定的屬性是否存在,以及是否可列舉。  | Object | |
	將 Rectangle 物件的所有屬性設為 0。  | Rectangle | ||
![]()  | 
     為迴圈作業設定動態屬性的可用性。  | Object | |
	 將 Rectangle 的成員設定為指定值
	 
       | Rectangle | ||
![]()  | 
	 傳回代表此物件的字串,根據地區特定慣例進行格式化。  | Object | |
	建立並傳回一個字串,用來列出 Rectangle 物件的水平和垂直位置,以及寬度及高度。  | Rectangle | ||
 
	 透過同時新增兩個矩形,並且填滿兩個矩形之間的水平及垂直空間,建立新的 Rectangle 物件。  | Rectangle | ||
![]()  | 
	 會傳回指定之物件的基本值。  | Object | |
bottom | 屬性 | 
bottomRight | 屬性 | 
height | 屬性 | 
left | 屬性 | 
right | 屬性 | 
size | 屬性 | 
top | 屬性 | 
topLeft | 屬性 | 
width | 屬性 | 
x | 屬性 | 
y | 屬性 | 
Rectangle | () | 建構函式 | 
public function Rectangle(x:Number = 0, y:Number = 0, width:Number = 0, height:Number = 0)| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
	會使用 x 和 y 參數指定之左上角以及指定的 width 和 height 參數,建立新的 Rectangle 物件。 如果您在呼叫這個函數時沒有使用參數,則會建立 x、y、width 和 height 屬性都設為 0 的矩形。
	
	
	
x:Number (default = 0) — 矩形左上角的 x 座標。
	 | |
y:Number (default = 0) — 矩形左上角的 y 座標。
	 | |
width:Number (default = 0) — 矩形的寬度,以像素為單位。
	 | |
height:Number (default = 0) — 矩形的高度,以像素為單位。
	
	 | 
相關 API 元素
clone | () | 方法 | 
contains | () | 方法 | 
containsPoint | () | 方法 | 
 public function containsPoint(point:Point):Boolean| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
	決定指定的點是否包含在此 Rectangle 物件所定義的矩形區域中。 這個方法與 Rectangle.contains() 方法類似,不同點在於它會使用 Point 物件做為參數。
	
	
參數
point:Point — 以 x 和 y 座標表示的點。  
	 | 
Boolean — 如果 Rectangle 物件包含指定的點,則值為 true,否則為 false。
	
	 | 
相關 API 元素
containsRect | () | 方法 | 
 public function containsRect(rect:Rectangle):Boolean| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
	會決定 rect 參數指定的 Rectangle 物件是否包含在此 Rectangle 物件內。 如果第二個 Rectangle 物件完全位於第一個 Rectangle 物件的邊界裡,則可以說第一個 Rectangle 物件包含了第二個 Rectangle。
	
	
參數
rect:Rectangle — 要檢查的 Rectangle 物件。
	
	 | 
Boolean — 如果您指定的 Rectangle 物件包含在此 Rectangle 物件中,則值為 true,否則為 false。
	
	 | 
copyFrom | () | 方法 | 
equals | () | 方法 | 
 public function equals(toCompare:Rectangle):Boolean| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
	會決定在 toCompare 參數中指定的物件是否等於此 Rectangle 物件。 這個方法會將某個物件的 x、y、width 和 height 屬性與此 Rectangle 物件的相同屬性進行比較。
	
	
參數
toCompare:Rectangle — 要與此 Rectangle 物件相比較的矩形。
	
	 | 
Boolean — 如果該物件的 x、y、width 和 height 屬性值與此 Rectangle 物件完全相同,則值為 true,否則為 false。
	
	 | 
相關 API 元素
inflate | () | 方法 | 
 public function inflate(dx:Number, dy:Number):void| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Player 9, Flash Lite 4 | 
	會以指定的量來增加 Rectangle 物件的大小 (以像素為單位)。 Rectangle 物件的中心點將會維持不變,而它的大小則會向左方和右方增加 dx,並向上方和下方增加 dy。
	
	
參數
dx:Number — Rectangle 物件向左方和右方所要增加的值。 下列方程式可用來計算矩形新的寬度和位置:
	
	
    x -= dx;
    width += 2 * dx;
     | |
dy:Number — Rectangle 物件向上方和下方所要增加的值。 下列方程式可用來計算矩形新的高度和位置:
	
	
    y -= dy;
    height += 2 * dy;
     | 
相關 API 元素
inflatePoint | () | 方法 | 
 public function inflatePoint(point:Point):void| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
	 增加 Rectangle 物件的大小。 這個方法與 Rectangle.inflate() 方法類似,不同點在於它會使用 Point 物件做為參數。
	 
	  
以下兩段程式碼範例將會產生相同的結果:
     var rect1:Rectangle = new Rectangle(0,0,2,5);
     rect1.inflate(2,2)
     
     var rect1:Rectangle = new Rectangle(0,0,2,5);
     var pt1:Point = new Point(2,2);
     rect1.inflatePoint(pt1)
     參數
point:Point — 這個 Point 物件的 x 屬性是用來增加 Rectangle 物件的水平尺寸; y 屬性則是用來增加 Rectangle 物件的垂直尺寸。
	 
	  | 
相關 API 元素
intersection | () | 方法 | 
 public function intersection(toIntersect:Rectangle):Rectangle| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
	如果在 toIntersect 參數中指定的 Rectangle 物件與此 Rectangle 物件有交集,便以 Rectangle 物件的形式傳回交集區域。 如果這些矩形沒有交集,這個方法會傳回空白的 Rectangle 物件,而且它的屬性都會設為 0。
	
    

參數
toIntersect:Rectangle — 要比較的 Rectangle 物件,以檢查它是否與此 Rectangle 物件有交集。
	
	 | 
Rectangle — 與交集區域相等的 Rectangle 物件。 如果這些矩形沒有交集,這個方法會傳回空白的 Rectangle 物件,也就是 x、y、width 和 height 屬性都設為 0 的矩形。
	
	 | 
intersects | () | 方法 | 
 public function intersects(toIntersect:Rectangle):Boolean| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
	會決定在 toIntersect 參數中指定的物件是否與此 Rectangle 物件交集。 這個方法會檢查指定之 Rectangle 物件的 x、y、width 和 height 屬性,以查看它與這個 Rectangle 物件是否有交集。
	
	
參數
toIntersect:Rectangle — 要與此 Rectangle 物件比較的 Rectangle 物件。 
	
	 | 
Boolean — 如果指定的物件與此 Rectangle 物件有交集,則值為 true,否則為 false。
	
	 | 
相關 API 元素
isEmpty | () | 方法 | 
offset | () | 方法 | 
offsetPoint | () | 方法 | 
setEmpty | () | 方法 | 
setTo | () | 方法 | 
toString | () | 方法 | 
union | () | 方法 | 
 public function union(toUnion:Rectangle):Rectangle| 語言版本: | ActionScript 3.0 | 
| 執行階段版本: | AIR 1.0, Flash Player 9, Flash Lite 4 | 
透過同時新增兩個矩形,並且填滿兩個矩形之間的水平及垂直空間,建立新的 Rectangle 物件。

注意:union() 方法會忽略以 0 作為高度與寬度值的矩形,例如:var rect2:Rectangle = new Rectangle(300,300,50,0);
參數
toUnion:Rectangle — 要加入至此 Rectangle 物件的 Rectangle 物件。
	
	 | 
Rectangle — 聯集兩個矩形的新 Rectangle 物件。
	
	 | 
trace() 方法來確認已經成功建立 Rectangle 實體。 接著指定 Boolean 變數 isContained 做為呼叫 containsRect() 方法的結果,來判斷第二個矩形是否全部封閉第三個矩形。
package {
    import flash.display.Sprite;
    import flash.geom.Rectangle;
    public class RectangleExample extends Sprite {
        public function RectangleExample() {
            var firstRect:Rectangle = new Rectangle();
            trace(firstRect);  // (x=0, y=0, w=0, h=0)
            var secondRect:Rectangle = new Rectangle(1, 3, 11, 13);
            trace(secondRect); // (x=1, y=3, w=11, h=13)
            var thirdRect:Rectangle = new Rectangle(5, 8, 17, 19);
            trace(thirdRect);  // (x=5, y=8, w=17, h=19)
            var isContained:Boolean = secondRect.containsRect(thirdRect);
            trace(isContained); // false
        }
    }
}
Tue Jun 12 2018, 03:47 PM Z
 
 隱藏繼承公用屬性
 顯示繼承公用屬性
