跳到主要内容

egret.Rectangle

   egret

   public class Rectangle

继承    egret.Rectangle → egret.HashObject

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

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

公共属性

属性
bottom : number
y 和 height 属性的和
bottomRight : egret.Point
由 right 和 bottom 属性的值确定的 Rectangle 对象的右下角的位置
height : number
The height of the rectangle, in pixels.
left : number
矩形左上角的 x 坐标
right : number
x 和 width 属性的和
top : number
矩形左上角的 y 坐标
topLeft : egret.Point
由该点的 x 和 y 坐标确定的 Rectangle 对象左上角的位置
width : number
矩形的宽度(以像素为单位)
x : number
矩形左上角的 x 坐标
y : number
矩形左上角的 y 坐标

公共方法

方法
Rectangle(x:number,y:number,width:number,height:number)
创建一个新 Rectangle 对象,其左上角由 x 和 y 参数指定,并具有指定的 width 和 height 参数
clone():egret.Rectangle
返回一个新的 Rectangle 对象,其 x、y、width 和 height 属性的值与原始 Rectangle 对象的对应值相同
contains(x:number,y:number):boolean
确定由此 Rectangle 对象定义的矩形区域内是否包含指定的点
containsPoint(point:egret.Point):boolean
确定由此 Rectangle 对象定义的矩形区域内是否包含指定的点
containsRect(rect:egret.Rectangle):boolean
确定此 Rectangle 对象内是否包含由 rect 参数指定的 Rectangle 对象
copyFrom(sourceRect:egret.Rectangle):egret.Rectangle
将源 Rectangle 对象中的所有矩形数据复制到调用方 Rectangle 对象中
create():egret.Rectangle
[静态]从对象池中取出或创建一个新的Rectangle对象
equals(toCompare:egret.Rectangle):boolean
确定在 toCompare 参数中指定的对象是否等于此 Rectangle 对象
inflate(dx:number,dy:number):void
按指定量增加 Rectangle 对象的大小(以像素为单位)保持 Rectangle 对象的中心点不变,使用 dx 值横向增加它的大小,使用 dy 值纵向增加它的大小
inflatePoint(point:egret.Point):void
增加 Rectangle 对象的大小
intersection(toIntersect:egret.Rectangle):egret.Rectangle
如果在 toIntersect 参数中指定的 Rectangle 对象与此 Rectangle 对象相交,则返回交集区域作为 Rectangle 对象
intersects(toIntersect:egret.Rectangle):boolean
确定在 toIntersect 参数中指定的对象是否与此 Rectangle 对象相交
isEmpty():boolean
确定此 Rectangle 对象是否为空
offset(dx:number,dy:number):void
按指定量调整 Rectangle 对象的位置(由其左上角确定)
offsetPoint(point:egret.Point):void
将 Point 对象用作参数来调整 Rectangle 对象的位置
release(rect:egret.Rectangle):void
[静态]释放一个Rectangle实例到对象池
setEmpty():void
将 Rectangle 对象的所有属性设置为 0
setTo(x:number,y:number,width:number,height:number):egret.Rectangle
将 Rectangle 的成员设置为指定值
union(toUnion:egret.Rectangle):egret.Rectangle
通过填充两个矩形之间的水平和垂直空间,将这两个矩形组合在一起以创建一个新的 Rectangle 对象

属性详细信息

bottom

bottom : number

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native

y 和 height 属性的和。

bottomRight

bottomRight : egret.Point

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native

由 right 和 bottom 属性的值确定的 Rectangle 对象的右下角的位置。

height

height : number = 0

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native

The height of the rectangle, in pixels.

left

left : number

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native

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

right : number

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native

x 和 width 属性的和。

top

top : number

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native

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

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

topLeft

topLeft : egret.Point

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native

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

width

width : number = 0

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native

矩形的宽度(以像素为单位)。

x

x : number = 0

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native

矩形左上角的 x 坐标。

y

y : number = 0

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native

矩形左上角的 y 坐标。

方法详细信息

Rectangle()

public Rectangle(x:number,y:number,width:number,height:number)

创建一个新 Rectangle 对象,其左上角由 x 和 y 参数指定,并具有指定的 width 和 height 参数。

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 参数
    • x:number - 矩形左上角的 x 坐标。
    • y:number - 矩形左上角的 y 坐标。
    • width:number - 矩形的宽度(以像素为单位)。
    • height:number - 矩形的高度(以像素为单位)。

clone()

public clone():egret.Rectangle

返回一个新的 Rectangle 对象,其 x、y、width 和 height 属性的值与原始 Rectangle 对象的对应值相同。

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 返回:新的 Rectangle 对象,其 x、y、width 和 height 属性的值与原始 Rectangle 对象的对应值相同。

contains()

public contains(x:number,y:number):boolean

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

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

  • 返回:如果检测点位于矩形内,返回true,否则,返回false

containsPoint()

public containsPoint(point:egret.Point):boolean

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

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

  • 返回:如果包含,返回true,否则返回false

containsRect()

public containsRect(rect:egret.Rectangle):boolean

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

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

  • 返回:如果此 Rectangle 对象包含您指定的 Rectangle 对象,则返回 true 值,否则返回 false。

copyFrom()

public copyFrom(sourceRect:egret.Rectangle):egret.Rectangle

将源 Rectangle 对象中的所有矩形数据复制到调用方 Rectangle 对象中。

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 参数

create()

public create():egret.Rectangle

从对象池中取出或创建一个新的Rectangle对象。

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native

equals()

public equals(toCompare:egret.Rectangle):boolean

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

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

    • toCompare:egret.Rectangle - 要与此 Rectangle 对象进行比较的矩形。
  • 返回:如果对象具有与此 Rectangle 对象完全相同的 x、y、width 和 height 属性值,则返回 true 值,否则返回 false。

inflate()

public inflate(dx:number,dy:number):void

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

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 参数
    • dx:number - Rectangle 对象横向增加的值。
    • dy:number - Rectangle 对象纵向增加的值。

inflatePoint()

public inflatePoint(point:egret.Point):void

增加 Rectangle 对象的大小。此方法与 Rectangle.inflate() 方法类似,只不过它采用 Point 对象作为参数。

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 参数
    • point:egret.Point - The x property of this Point object is used to increase the horizontal dimension of the Rectangle object. The y property is used to increase the vertical dimension of the Rectangle object.

intersection()

public intersection(toIntersect:egret.Rectangle):egret.Rectangle

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

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

    • toIntersect:egret.Rectangle - 要对照比较以查看其是否与此 Rectangle 对象相交的 Rectangle 对象。
  • 返回:等于交集区域的 Rectangle 对象。如果该矩形不相交,则此方法返回一个空的 Rectangle 对象;即,其 x、y、width 和height 属性均设置为 0 的矩形。

intersects()

public intersects(toIntersect:egret.Rectangle):boolean

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

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

    • toIntersect:egret.Rectangle - 要与此 Rectangle 对象比较的 Rectangle 对象。
  • 返回:如果两个矩形相交,返回true,否则返回false

isEmpty()

public isEmpty():boolean

确定此 Rectangle 对象是否为空。

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 返回:如果 Rectangle 对象的宽度或高度小于等于 0,则返回 true 值,否则返回 false。

offset()

public offset(dx:number,dy:number):void

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

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 参数
    • dx:number - 将 Rectangle 对象的 x 值移动此数量。
    • dy:number - 将 Rectangle 对象的 t 值移动此数量。

offsetPoint()

public offsetPoint(point:egret.Point):void

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

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 参数
    • point:egret.Point - 要用于偏移此 Rectangle 对象的 Point 对象。

release()

public release(rect:egret.Rectangle):void

释放一个Rectangle实例到对象池

setEmpty()

public setEmpty():void

将 Rectangle 对象的所有属性设置为 0。

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native

setTo()

public setTo(x:number,y:number,width:number,height:number):egret.Rectangle

将 Rectangle 的成员设置为指定值

  • 支持版本:Egret 2.4
  • 运行平台:Web,Native
  • 参数
    • x:number - 矩形左上角的 x 坐标。
    • y:number - 矩形左上角的 y 坐标。
    • width:number - 矩形的宽度(以像素为单位)。
    • height:number - 矩形的高度(以像素为单位)。

union()

public union(toUnion:egret.Rectangle):egret.Rectangle

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

  • 支持版本:Egret 2.4

  • 运行平台:Web,Native

  • 参数

    • toUnion:egret.Rectangle - 要添加到此 Rectangle 对象的 Rectangle 对象。
  • 返回:充当两个矩形的联合的新 Rectangle 对象。

示例

/*
* 以下示例使用 RectangleExample 类创建新 Rectangle 对象,然后使用 egret.log() 方法输出各种类方法的结果。
*/
class RectangleExample extends egret.DisplayObjectContainer {
public constructor() {
super();
var firstRect:egret.Rectangle = new egret.Rectangle();
egret.log(firstRect.toString()); // (x=0, y=0, w=0, h=0)
var secondRect:egret.Rectangle = new egret.Rectangle(1, 3, 11, 13);
egret.log(secondRect.toString()); // (x=1, y=3, w=11, h=13)
var thirdRect:egret.Rectangle = new egret.Rectangle(5, 8, 17, 19);
egret.log(thirdRect.toString()); // (x=5, y=8, w=17, h=19)
var isContained:Boolean = secondRect.containsRect(thirdRect);
egret.log(isContained); // false
}
}