套件 | 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