包 | 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 对象:
-
applyFilter()
、colorTransform()
、copyChannel()
、copyPixels()
、draw()
、fillRect()
、generateFilterRect()
、getColorBoundsRect()
、getPixels()
、merge()
、paletteMap()
、pixelDisolve()
、setPixels()
和threshold()
方法,以及 BitmapData 类的rect
属性 -
getBounds()
和getRect()
方法,以及 DisplayObject 类的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
由 right 和 bottom 属性的值确定的 Rectangle 对象的右下角的位置。 | Rectangle | ||
constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | ||
height : Number
矩形的高度(以像素为单位)。 | Rectangle | ||
left : Number
矩形左上角的 x 坐标。 | Rectangle | ||
right : Number
x 和 width 属性的和。 | Rectangle | ||
size : Point
Rectangle 对象的大小,该对象表示为具有 width 和 height 属性的值的 Point 对象。 | Rectangle | ||
top : Number
矩形左上角的 y 坐标。 | Rectangle | ||
topLeft : Point
由该点的 x 和 y 坐标确定的 Rectangle 对象左上角的位置。 | Rectangle | ||
width : Number
矩形的宽度(以像素为单位)。 | Rectangle | ||
x : Number
矩形左上角的 x 坐标。 | Rectangle | ||
y : Number
矩形左上角的 y 坐标。 | Rectangle |
方法 | 由以下参数定义 | ||
---|---|---|---|
创建一个新 Rectangle 对象,其左上角由 x 和 y 参数指定,并具有指定的 width 和 height 参数。 | Rectangle | ||
返回一个新的 Rectangle 对象,其 x、y、width 和 height 属性的值与原始 Rectangle 对象的对应值相同。 | Rectangle | ||
确定由此 Rectangle 对象定义的矩形区域内是否包含指定的点。 | Rectangle | ||
确定由此 Rectangle 对象定义的矩形区域内是否包含指定的点。 | Rectangle | ||
确定此 Rectangle 对象内是否包含由 rect 参数指定的 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 |
创建一个新 Rectangle 对象,其左上角由 x
和 y
参数指定,并具有指定的 width
和 height
参数。如果调用此函数时不使用任何参数,将创建一个 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 |
确定此 Rectangle 对象内是否包含由 rect
参数指定的 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 — 如果对象具有与此 Rectangle 对象完全相同的 x 、y 、width 和 height 属性值,则返回 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 实例。然后将布尔变量 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, 11:04 AM Z