window.runtime 属性window.runtime.flash.geom.Rectangle
继承Rectangle Inheritance Object

Rectangle 对象是按其位置(由它左上角的点 (x, y) 确定)以及宽度和高度定义的区域。

Rectangle 类的 xywidthheight 属性相互独立;更改一个属性的值不会影响其它属性。但是,rightbottom 属性与这四个属性是整体相关的。例如,如果更改 right 属性的值,则 width 属性的值将发生变化;如果更改 bottom 属性,则 height 属性的值将发生变化。

以下方法和属性使用 Rectangle 对象:

您可以使用 new Rectangle() 构造函数创建 Rectangle 对象。

注意:Rectangle 类不定义矩形 Shape 显示对象。若要在屏幕上绘制矩形 Shape 对象,请使用 Graphics 类的 drawRect() 方法。

查看示例

另请参见

BitmapData
NativeWindow

Using Rectangle objects
Setting size, scale, and orientation


属性
 属性定义方
  bottom : Number
y 和 height 属性的和。
Rectangle
  bottomRight : Point
由 right 和 bottom 属性的值确定的 Rectangle 对象的右下角的位置。
Rectangle
 Inheritedconstructor : Object
对类对象或给定对象实例的构造函数的引用。
Object
  height : Number
矩形的高度(以像素为单位)。
Rectangle
  left : Number
矩形左上角的 x 坐标。
Rectangle
 Inheritedprototype : Object
[静态] 对类或函数对象的原型对象的引用。
Object
  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:Number = 0, y:Number = 0, width:Number = 0, height:Number = 0)
创建一个新 Rectangle 对象,其左上角由 x 和 y 参数指定,并具有指定的 width 和 height 参数。
Rectangle
  
返回一个新的 Rectangle 对象,其 x、y、width 和 height 属性的值与原始 Rectangle 对象的对应值相同。
Rectangle
  
contains(x:Number, y:Number):Boolean
确定由此 Rectangle 对象定义的矩形区域内是否包含指定的点。
Rectangle
  
containsPoint(point:Point):Boolean
确定由此 Rectangle 对象定义的矩形区域内是否包含指定的点。
Rectangle
  
containsRect(rect:Rectangle):Boolean
确定此 Rectangle 对象内是否包含由 rect 参数指定的 Rectangle 对象。
Rectangle
  
equals(toCompare:Rectangle):Boolean
确定在 toCompare 参数中指定的对象是否等于此 Rectangle 对象。
Rectangle
 Inherited
hasOwnProperty(name:String):Boolean
指示对象是否已经定义了指定的属性。
Object
  
inflate(dx:Number, dy:Number):void
按指定量增加 Rectangle 对象的大小(以像素为单位)。
Rectangle
  
增加 Rectangle 对象的大小。
Rectangle
  
如果在 toIntersect 参数中指定的 Rectangle 对象与此 Rectangle 对象相交,则返回交集区域作为 Rectangle 对象。
Rectangle
  
intersects(toIntersect:Rectangle):Boolean
确定在 toIntersect 参数中指定的对象是否与此 Rectangle 对象相交。
Rectangle
  
isEmpty():Boolean
确定此 Rectangle 对象是否为空。
Rectangle
 Inherited
isPrototypeOf(theClass:Object):Boolean
指示 Object 类的实例是否在指定为参数的对象的原型链中。
Object
  
offset(dx:Number, dy:Number):void
按指定量调整 Rectangle 对象的位置(由其左上角确定)。
Rectangle
  
将 Point 对象用作参数来调整 Rectangle 对象的位置。
Rectangle
 Inherited
propertyIsEnumerable(name:String):Boolean
指示指定的属性是否存在、是否可枚举。
Object
  
将 Rectangle 对象的所有属性设置为 0。
Rectangle
 Inherited
setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void
设置循环操作动态属性的可用性。
Object
  
toString():String
生成并返回一个字符串,该字符串列出 Rectangle 对象的水平位置和垂直位置以及高度和宽度。
Rectangle
  
通过填充两个矩形之间的水平和垂直空间,将这两个矩形组合在一起以创建一个新的 Rectangle 对象。
Rectangle
 Inherited
valueOf():Object
返回指定对象的原始值。
Object
属性详细信息
bottom属性
bottom:Number  [读写]

yheight 属性的和。

显示 location 和 measurement 属性的矩形图像。

另请参见

bottomRight属性 
bottomRight:Point  [读写]

rightbottom 属性的值确定的 Rectangle 对象的右下角的位置。

显示 location 和 measurement 属性的矩形图像。

另请参见

height属性 
var height:Number

矩形的高度(以像素为单位)。更改 Rectangle 对象的 height 值对 xywidth 属性没有影响。

显示 location 和 measurement 属性的矩形图像。

另请参见

left属性 
left:Number  [读写]

矩形左上角的 x 坐标。更改 Rectangle 对象的 left 属性对 yheight 属性没有影响。但是,它会影响 width 属性,而更改 x不会影响 width 属性。

left 属性的值等于 x 属性的值。

显示 location 和 measurement 属性的矩形图像。

另请参见

right属性 
right:Number  [读写]

xwidth 属性的和。

显示 location 和 measurement 属性的矩形图像。

另请参见

size属性 
size:Point  [读写]

Rectangle 对象的大小,该对象表示为具有 widthheight 属性的值的 Point 对象。

另请参见

top属性 
top:Number  [读写]

矩形左上角的 y 坐标。更改 Rectangle 对象的 top 属性对 xwidth 属性没有影响。但是,它会影响 height 属性,而更改 y不会影响 height 属性。

top 属性的值等于 y 属性的值。

显示 location 和 measurement 属性的矩形图像。

另请参见

topLeft属性 
topLeft:Point  [读写]

由该点的 xy 坐标确定的 Rectangle 对象左上角的位置。

显示 location 和 measurement 属性的矩形图像。

另请参见

width属性 
var width:Number

矩形的宽度(以像素为单位)。更改 Rectangle 对象的 width 值对 xyheight 属性没有影响。

显示 location 和 measurement 属性的矩形图像。

另请参见

x属性 
var x:Number

矩形左上角的 x 坐标。更改 Rectangle 对象的 x 属性的值对 ywidthheight 属性没有影响。

x 属性的值等于 left 属性的值。

另请参见

y属性 
var y:Number

矩形左上角的 y 坐标。更改 Rectangle 对象的 y 属性的值对 xwidthheight 属性没有影响。

y 属性的值等于 top 属性的值。

另请参见

构造函数详细信息
Rectangle()构造函数
function Rectangle(x:Number = 0, y:Number = 0, width:Number = 0, height:Number = 0)

创建一个新 Rectangle 对象,其左上角由 xy 参数指定,并具有指定的 widthheight 参数。如果调用此函数时不使用任何参数,将创建一个 xywidthheight 属性均设置为 0 的矩形。

参数
x:Number (default = 0) — 矩形左上角的 x 坐标。
 
y:Number (default = 0) — 矩形左上角的 y 坐标。
 
width:Number (default = 0) — 矩形的宽度(以像素为单位)。
 
height:Number (default = 0) — 矩形的高度(以像素为单位)。

另请参见

方法详细信息
clone()方法
function clone():Rectangle

返回一个新的 Rectangle 对象,其 xywidthheight 属性的值与原始 Rectangle 对象的对应值相同。

返回
Rectangle — 新的 Rectangle 对象,其 xywidthheight 属性的值与原始 Rectangle 对象的对应值相同。

另请参见

contains()方法 
function contains(x:Number, y:Number):Boolean

确定由此 Rectangle 对象定义的矩形区域内是否包含指定的点。

参数

x:Number — 点的 x 坐标(水平位置)。
 
y:Number — 点的 y 坐标(垂直位置)。

返回
Boolean — 如果 Rectangle 对象包含指定的点,则值为 true;否则为 false

另请参见

containsPoint()方法 
function containsPoint(point:Point):Boolean

确定由此 Rectangle 对象定义的矩形区域内是否包含指定的点。此方法与 Rectangle.contains() 方法类似,只不过它采用 Point 对象作为参数。

参数

point:Point — 用其 xy 坐标表示的点。

返回
Boolean — 如果 Rectangle 对象包含指定的点,则值为 true;否则为 false

另请参见

containsRect()方法 
function containsRect(rect:Rectangle):Boolean

确定此 Rectangle 对象内是否包含由 rect 参数指定的 Rectangle 对象。如果一个 Rectangle 对象完全在另一个 Rectangle 的边界内,我们说第二个 Rectangle 包含第一个 Rectangle。

参数

rect:Rectangle — 所检查的 Rectangle 对象。

返回
Boolean — 如果此 Rectangle 对象包含您指定的 Rectangle 对象,则返回 true 值,否则返回 false
equals()方法 
function equals(toCompare:Rectangle):Boolean

确定在 toCompare 参数中指定的对象是否等于此 Rectangle 对象。此方法将某个对象的 xywidthheight 属性与此 Rectangle 对象所对应的相同属性进行比较。

参数

toCompare:Rectangle — 要与此 Rectangle 对象进行比较的矩形。

返回
Boolean — 如果对象具有与此 Rectangle 对象完全相同的 xywidthheight 属性值,则返回 true 值,否则返回 false

另请参见

inflate()方法 
function inflate(dx:Number, dy:Number):void

按指定量增加 Rectangle 对象的大小(以像素为单位)。保持 Rectangle 对象的中心点不变,使用 dx 值横向增加它的大小,使用 dy 值纵向增加它的大小。

参数

dx:Number — Rectangle 对象横向增加的值。下列等式用于计算矩形的新宽度和位置:
 x -= dx;
 width += 2 * dx;
 
 
dy:Number — Rectangle 纵向增加的值。下列等式用于计算矩形的新高度和位置:
 y -= dy;
 height += 2 * dy;
 

另请参见

inflatePoint()方法 
function inflatePoint(point:Point):void

增加 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)
  
  var rect1 = new air.Rectangle(0,0,2,5);
  rect1.inflate(2,2)
  
  var rect1 = new air.Rectangle(0,0,2,5);
  var pt1 = new air.Point(2,2);
  rect1.inflatePoint(pt1)
  

参数

point:Point — 此 Point 对象的 x 属性用于增加 Rectangle 对象的水平尺寸。y 属性用于增加 Rectangle 对象的垂直尺寸。

另请参见

intersection()方法 
function intersection(toIntersect:Rectangle):Rectangle

如果在 toIntersect 参数中指定的 Rectangle 对象与此 Rectangle 对象相交,则返回交集区域作为 Rectangle 对象。如果矩形不相交,则此方法返回一个空的 Rectangle 对象,其属性设置为 0。

生成的相交矩形。

参数

toIntersect:Rectangle — 要对照比较以查看其是否与此 Rectangle 对象相交的 Rectangle 对象。

返回
Rectangle — 等于交集区域的 Rectangle 对象。如果该矩形不相交,则此方法返回一个空的 Rectangle 对象;即,其 xywidthheight 属性均设置为 0 的矩形。

另请参见

intersects()方法 
function intersects(toIntersect:Rectangle):Boolean

确定在 toIntersect 参数中指定的对象是否与此 Rectangle 对象相交。此方法检查指定的 Rectangle 对象的 xywidthheight 属性,以查看它是否与此 Rectangle 对象相交。

参数

toIntersect:Rectangle — 要与此 Rectangle 对象比较的 Rectangle 对象。

返回
Boolean — 如果指定的对象与此 Rectangle 对象相交,则返回 true 值,否则返回 false

另请参见

isEmpty()方法 
function isEmpty():Boolean

确定此 Rectangle 对象是否为空。

返回
Boolean — 如果 Rectangle 对象的宽度或高度小于等于 0,则返回 true 值,否则返回 false
offset()方法 
function offset(dx:Number, dy:Number):void

按指定量调整 Rectangle 对象的位置(由其左上角确定)。

参数

dx:Number — 将 Rectangle 对象的 x 值移动此数量。
 
dy:Number — 将 Rectangle 对象的 y 值移动此数量。

另请参见

offsetPoint()方法 
function offsetPoint(point:Point):void

将 Point 对象用作参数来调整 Rectangle 对象的位置。此方法与 Rectangle.offset() 方法类似,只不过它采用 Point 对象作为参数。

参数

point:Point — 要用于偏移此 Rectangle 对象的 Point 对象。

另请参见

setEmpty()方法 
function setEmpty():void

将 Rectangle 对象的所有属性设置为 0。如果 Rectangle 对象的宽度或高度小于或等于 0,则该对象为空。

此方法将 xywidthheight 属性设置为 0。

另请参见

toString()方法 
function toString():String

生成并返回一个字符串,该字符串列出 Rectangle 对象的水平位置和垂直位置以及高度和宽度。

返回
String — 一个字符串,它列出了 Rectangle 对象的下列各个属性的值:xywidthheight

另请参见

union()方法 
function union(toUnion:Rectangle):Rectangle

通过填充两个矩形之间的水平和垂直空间,将这两个矩形组合在一起以创建一个新的 Rectangle 对象。

生成的联合矩形。

参数

toUnion:Rectangle — 要添加到此 Rectangle 对象的 Rectangle 对象。

返回
Rectangle — 充当两个矩形的联合的新 Rectangle 对象。

另请参见

示例
RectangleExample.as

下面的示例使用 RectangleExample 类以不同的高度和宽度在不同的 x , y 坐标处创建三个新的 Rectangle 对象,随后使用 trace() 方法确认是否成功创建了 Rectangle 实例。然后将布尔变量 isContained 赋予对 containsRect() 方法的调用结果,该方法确定第二个矩形未完全包含第三个矩形。

注意:要测试此示例,请执行以下操作:

  1. 将 AIRAliases.js 文件添加到项目目录。
  2. 为该项目创建应用程序描述符文件,并使用 ADL 测试该项目。
<html>
    <head>
      <script src="AIRAliases.js" />
      <script>
        function init() {
            var firstRect = new air.Rectangle();
            air.trace(firstRect);  // (x=0, y=0, w=0, h=0)
            var secondRect = new air.Rectangle(1, 3, 11, 13);
            air.trace(secondRect); // (x=1, y=3, w=11, h=13)
            var thirdRect = new air.Rectangle(5, 8, 17, 19);
            air.trace(thirdRect);  // (x=5, y=8, w=17, h=19)
            var isContained = secondRect.containsRect(thirdRect);
            air.trace(isContained); // false
        }
      </script>
    </head>
    <body onload='init()'>
    </body>
</html>