Egret Engine R - v6.0.0
    Preparing search index...

    DisplayObject 类是可放在显示列表中的所有对象的基类。该显示列表管理运行时中显示的所有对象。使用 DisplayObjectContainer 类排列 显示列表中的显示对象。DisplayObjectContainer 对象可以有子显示对象,而其他显示对象(如 Shape 和 TextField 对象)是“叶”节点,没有子项,只有父级和 同级。DisplayObject 类有一些基本的属性(如确定坐标位置的 x 和 y 属性),也有一些高级的对象属性(如 Matrix 矩阵变换)。
    DisplayObject 类包含若干广播事件。通常,任何特定事件的目标均为一个特定的 DisplayObject 实例。例如,added 事件的目标是已添加到显示列表 的目标 DisplayObject 实例。若只有一个目标,则会将事件侦听器限制为只能监听在该目标上(在某些情况下,可监听在显示列表中该目标的祖代上)。 但是对于广播事件,目标不是特定的 DisplayObject 实例,而是所有 DisplayObject 实例(包括那些不在显示列表中的实例)。这意味着您可以向任何 DisplayObject 实例添加侦听器来侦听广播事件。

    Event.ADDED 将显示对象添加到显示列表中时调度。 Event.ADDED_TO_STAGE 在将显示对象直接添加到舞台显示列表或将包含显示对象的子树添加至舞台显示列表中时调度。 Event.REMOVED 将要从显示列表中删除显示对象时调度。 Event.REMOVED_FROM_STAGE 在从显示列表中直接删除显示对象或删除包含显示对象的子树时调度。 Event.ENTER_FRAME [广播事件] 播放头进入新帧时调度。 Event.RENDER [广播事件] 将要更新和呈现显示列表时调度。 TouchEvent.TOUCH_MOVE 当用户触碰设备时进行调度,而且会连续调度,直到接触点被删除。 TouchEvent.TOUCH_BEGIN 当用户第一次触摸启用触摸的设备时(例如,用手指触摸手机屏幕)调度。 TouchEvent.TOUCH_END 当用户移除与启用触摸的设备的接触时(例如,将手指从屏幕上抬起)调度。 TouchEvent.TOUCH_TAP 当用户在启用触摸设备上的已启动接触的同一 DisplayObject 实例上抬起接触点时(例如,手机点击屏幕后抬起)调度。 TouchEvent.TOUCH_RELEASE_OUTSIDE 当用户在启用触摸设备上的已启动接触的不同 DisplayObject 实例上抬起接触点时(例如,按住屏幕上的某个对象,然后从它上面挪开后再松开手指)调度。

    Egret 2.4

    Web

    egret/display/DisplayObject.ts

    zh_CN

    Hierarchy (View Summary)

    Index
    $nativeDisplayObject: NativeDisplayObject
    $useTranslate: boolean = false
    $x: number = 0
    $y: number = 0
    $explicitWidth: number = NaN
    $explicitHeight: number = NaN
    $anchorOffsetX: number = 0
    $anchorOffsetY: number = 0
    $cacheDirty: boolean = false
    $touchEnabled: boolean = DisplayObject.defaultTouchEnabled
    $filters: (Filter | CustomFilter)[]
    $renderDirty: boolean = false
    $renderMode: RenderMode = null
    • get name(): string

      表示 DisplayObject 的实例名称。 通过调用父显示对象容器的 getChildByName() 方法,可以在父显示对象容器的子列表中标识该对象。

      Returns string

      Egret 2.4

      Web

      zh_CN

    • set name(value: string): void

      Parameters

      • value: string

      Returns void

    • get stage(): Stage

      显示对象的舞台。 例如,您可以创建多个显示对象并加载到显示列表中,每个显示对象的 stage 属性是指向相同的 Stage 对象。
      如果显示对象未添加到显示列表,则其 stage 属性会设置为 null。

      Returns Stage

      Egret 2.4

      Web

      zh_CN

    • get matrix(): Matrix

      一个 Matrix 对象,其中包含更改显示对象的缩放、旋转和平移的值。
      注意:要改变一个显示对象矩阵的值,您必引用整个矩阵对象,然后将它重新赋值给显示对象的 matrix 属性。

      Returns Matrix

      以下代码改变了显示对象矩阵的tx属性值
      <pre>
      let myMatrix:Matrix = myDisplayObject.matrix;
      myMatrix.tx += 10;
      myDisplayObject.matrix = myMatrix;
      </pre>

      Egret 2.4

      Web

      zh_CN

    • set matrix(value: Matrix): void

      Parameters

      Returns void

    • get x(): number

      表示 DisplayObject 实例相对于父级 DisplayObjectContainer 本地坐标的 x 坐标。
      如果该对象位于具有变形的 DisplayObjectContainer 内,则它也位于包含 DisplayObjectContainer 的本地坐标系中。 因此,对于逆时针旋转 90 度的 DisplayObjectContainer,该 DisplayObjectContainer 的子级将继承逆时针旋转 90 度的坐标系。

      Returns number

      0
      

      Egret 2.4

      Web

      zh_CN

    • set x(value: number): void

      Parameters

      • value: number

      Returns void

    • get y(): number

      表示 DisplayObject 实例相对于父级 DisplayObjectContainer 本地坐标的 y 坐标。
      如果该对象位于具有变形的 DisplayObjectContainer 内,则它也位于包含 DisplayObjectContainer 的本地坐标系中。 因此,对于逆时针旋转 90 度的 DisplayObjectContainer,该 DisplayObjectContainer 的子级将继承逆时针旋转 90 度的坐标系。

      Returns number

      0
      

      Egret 2.4

      Web

      zh_CN

    • set y(value: number): void

      Parameters

      • value: number

      Returns void

    • get scaleX(): number

      表示从注册点开始应用的对象的水平缩放比例(百分比)。
      1.0 等于 100% 缩放。

      Returns number

      1
      

      Egret 2.4

      Web

      zh_CN

    • set scaleX(value: number): void

      Parameters

      • value: number

      Returns void

    • get scaleY(): number

      表示从对象注册点开始应用的对象的垂直缩放比例(百分比)。1.0 是 100% 缩放。

      Returns number

      1
      

      Egret 2.4

      Web

      zh_CN

    • set scaleY(value: number): void

      Parameters

      • value: number

      Returns void

    • get rotation(): number

      表示 DisplayObject 实例距其原始方向的旋转程度,以度为单位。 从 0 到 180 的值表示顺时针方向旋转;从 0 到 -180 的值表示逆时针方向旋转。对于此范围之外的值,可以通过加上或 减去 360 获得该范围内的值。例如,myDisplayObject.rotation = 450语句与 myDisplayObject.rotation = 90 是相同的。

      Returns number

      0
      

      Egret 2.4

      Web

      zh_CN

    • set rotation(value: number): void

      Parameters

      • value: number

      Returns void

    • get width(): number

      表示显示对象的宽度,以像素为单位。宽度是根据显示对象内容的范围来计算的。

      Returns number

      Egret 2.4

      Web

      zh_CN

    • set width(value: number): void

      Parameters

      • value: number

      Returns void

    • get height(): number

      表示显示对象的高度,以像素为单位。高度是根据显示对象内容的范围来计算的。

      Returns number

      Egret 2.4

      Web

      zh_CN

    • set height(value: number): void

      Parameters

      • value: number

      Returns void

    • get measuredWidth(): number

      测量宽度

      Returns number

      egret.DisplayObject#measuredWidth

      Egret 2.4

      Web

    • get measuredHeight(): number

      测量高度

      Returns number

      egret.DisplayObject#measuredWidth

      Egret 2.4

      Web

    • get visible(): boolean

      显示对象是否可见。不可见的显示对象将被禁用。例如,如果实例的 visible 为 false,则无法接受触摸或用户交互操作。

      Returns boolean

      true
      

      Egret 2.4

      Web

      zh_CN

    • set visible(value: boolean): void

      Parameters

      • value: boolean

      Returns void

    • get cacheAsBitmap(): boolean

      如果设置为 true,则 Egret 运行时将缓存显示对象的内部位图表示形式。此缓存可以提高包含复杂矢量内容的显示对象的性能。 将 cacheAsBitmap 属性设置为 true 后,呈现并不更改,但是,显示对象将自动执行像素贴紧。执行速度可能会大大加快, 具体取决于显示对象内容的复杂性。最好将 cacheAsBitmap 属性与主要具有静态内容且不频繁缩放或旋转的显示对象一起使用。
      注意:在内存超过上限的情况下,即使将 cacheAsBitmap 属性设置为 true,显示对象也不使用位图缓存。

      Returns boolean

      false
      

      Egret 2.4

      Web

      zh_CN

    • set cacheAsBitmap(value: boolean): void

      Parameters

      • value: boolean

      Returns void

    • get alpha(): number

      表示指定对象的 Alpha 透明度值。 有效值为 0(完全透明)到 1(完全不透明)。alpha 设置为 0 的显示对象是可触摸的,即使它们不可见。

      Returns number

      1
      

      Egret 2.4

      Web

      zh_CN

    • set alpha(value: number): void

      Parameters

      • value: number

      Returns void

    • get touchEnabled(): boolean

      指定此对象是否接收触摸或其他用户输入。默认值为 false,这表示默认情况下,显示列表上的任何 DisplayObject 实例都不会接收触摸事件或 其他用户输入事件。如果将 touchEnabled 设置为 false,则实例将不接收任何触摸事件(或其他用户输入事件)。显示列表上的该实例的任 何子级都不会受到影响。要更改显示列表上对象的所有子级的 touchEnabled 行为,请使用 DisplayObjectContainer.touchChildren。

      Returns boolean

      DisplayObjectContainer#touchChildren

      false
      

      Egret 2.4

      Web

      zh_CN

    • set touchEnabled(value: boolean): void

      Parameters

      • value: boolean

      Returns void

    • get scrollRect(): Rectangle

      显示对象的滚动矩形范围。显示对象被裁切为矩形定义的大小,当您更改 scrollRect 对象的 x 和 y 属性时,它会在矩形内滚动。 滚动的显示对象始终以整像素为增量进行滚动。您可以通过设置 scrollRect Rectangle 对象的 x 属性来左右滚动对象, 还可以通过设置 scrollRect 对象的 y 属性来上下滚动对象。如果显示对象旋转了 90 度,并且您左右滚动它,则实际上显示对象会上下滚动。

      注意:要改变一个显示对象 scrollRect 属性的值,您必引用整个 scrollRect 对象,然后将它重新赋值给显示对象的 scrollRect 属性。

      Returns Rectangle

      以下代码改变了显示对象 scrollRect  x 属性值
      <pre>
      let myRectangle:Rectangle = myDisplayObject.scrollRect;
      myRectangle.x += 10;
      myDisplayObject.scrollRect = myRectangle;//设置完scrollRect的x、y、width、height值之后,一定要对myDisplayObject重新赋值scrollRect,不然会出问题。
      </pre>

      Egret 2.4

      Web

      zh_CN

    • set scrollRect(value: Rectangle): void

      Parameters

      Returns void

    • get blendMode(): string

      BlendMode 枚举中的一个值,用于指定要使用的混合模式,确定如何将一个源(新的)图像绘制到目标(已有)的图像上
      如果尝试将此属性设置为无效值,则运行时会将此值设置为 BlendMode.NORMAL。

      Returns string

      BlendMode.NORMAL
      

      BlendMode

      Egret 2.4

      Web

      zh_CN

    • set blendMode(value: string): void

      Parameters

      • value: string

      Returns void

    • get mask(): DisplayObject | Rectangle

      调用显示对象被指定的 mask 对象遮罩。要确保当舞台缩放时蒙版仍然有效,mask 显示对象必须处于显示列表的活动部分。 但不绘制 mask 对象本身。将 mask 设置为 null 可删除蒙版。要能够缩放遮罩对象,它必须在显示列表中。要能够拖动蒙版 对象,它必须在显示列表中。
      注意:单个 mask 对象不能用于遮罩多个执行调用的显示对象。在将 mask 分配给第二个显示对象时,会撤消其作为第一个对象的遮罩, 该对象的 mask 属性将变为 null。

      下面例子为 mask 为 Rectangle 类型对象,这种情况下,修改 mask 的值后,一定要对 myDisplayObject 重新赋值 mask,不然会出问题。

      Returns DisplayObject | Rectangle

      以下代码改变了显示对象 mask  x 属性值
      <pre>
      let myMask:Rectangle = myDisplayObject.mask;
      myMask.x += 10;
      myDisplayObject.mask = myMask;//设置完 mask 的x、y、width、height值之后,一定要对myDisplayObject重新赋值 mask,不然会出问题。
      </pre>

      Egret 2.4

      Web

      zh_CN

    • set mask(value: DisplayObject | Rectangle): void

      Parameters

      Returns void

    • get hashCode(): number

      返回此对象唯一的哈希值,用于唯一确定一个对象。hashCode为大于等于1的整数。

      Returns number

      Egret 2.4

      Web

      zh_CN

    • 返回一个矩形,该矩形定义相对于 targetCoordinateSpace 对象坐标系的显示对象区域。

      Parameters

      • targetCoordinateSpace: DisplayObject

        定义要使用的坐标系的显示对象。

      • OptionalresultRect: Rectangle

        一个用于存储结果的可复用Rectangle实例,传入此参数能够减少内部创建对象的次数,从而获得更高的运行性能。

      Returns Rectangle

      定义与 targetCoordinateSpace 对象坐标系统相关的显示对象面积的矩形。

      Egret 2.4

      Web

      zh_CN

    • 获取显示对象的测量边界

      Parameters

      • OptionalresultRect: Rectangle

        {Rectangle} 可选参数,传入用于保存结果的Rectangle对象,避免重复创建对象。

      • calculateAnchor: boolean = true

        {boolean} 可选参数,是否会计算锚点。

      Returns Rectangle

      Egret 2.4

      Web

      zh_CN

    • 将从舞台(全局)坐标转换为显示对象的(本地)坐标。

      Parameters

      • stageX: number = 0

        舞台坐标x

      • stageY: number = 0

        舞台坐标y

      • OptionalresultPoint: Point

        一个用于存储结果的可复用 Point 实例,传入此参数能够减少内部创建对象的次数,从而获得更高的运行性能。

      Returns Point

      具有相对于显示对象的坐标的 Point 对象。

      Egret 2.4

      Web

      zh_CN

    • 将显示对象的(本地)坐标转换为舞台(全局)坐标。

      Parameters

      • localX: number = 0

        本地坐标 x

      • localY: number = 0

        本地坐标 y

      • OptionalresultPoint: Point

        一个用于存储结果的可复用 Point 实例,传入此参数能够减少内部创建对象的次数,从而获得更高的运行性能。

      Returns Point

      一个具有相对于舞台坐标的 Point 对象。

      Egret 2.4

      Web

      zh_CN

    • 计算显示对象,以确定它是否与 x 和 y 参数指定的点重叠或相交。x 和 y 参数指定舞台的坐标空间中的点,而不是包含显示对象的显示对象容器中的点(除非显示对象容器是舞台)。 注意,不要在大量物体中使用精确碰撞像素检测,这回带来巨大的性能开销

      Parameters

      • x: number

        {number} 要测试的此对象的 x 坐标。

      • y: number

        {number} 要测试的此对象的 y 坐标。

      • OptionalshapeFlag: boolean

        {boolean} 是检查对象 (true) 的实际像素,还是检查边框 (false) 的实际像素。

      Returns boolean

      如果显示对象与指定的点重叠或相交,则为 true;否则为 false。

      Egret 2.4

      Web

      zh_CN

    • 从 EventDispatcher 对象中删除侦听器。如果没有向 EventDispatcher 对象注册任何匹配的侦听器,则对此方法的调用没有任何效果。

      Parameters

      • type: string

        事件的类型。

      • listener: Function

        要删除的侦听器对象

      • thisObject: any

        侦听函数绑定的this对象

      • OptionaluseCapture: boolean

        指出是为捕获阶段还是为冒泡阶段注册了侦听器。如果为捕获阶段以及冒泡阶段注册了侦听器,则需要对 removeEventListener() 进行两次调用才能将这两个侦听器删除:一次调用将 useCapture 设置为 true,另一次调用将 useCapture 设置为 false。。

      Returns void

      Egret 2.4

      Web

      zh_CN

    • 将事件分派到事件流中。事件目标是对其调用 dispatchEvent() 方法的 EventDispatcher 对象。

      Parameters

      • event: Event

        调度到事件流中的 Event 对象。

      Returns boolean

      如果成功调度了事件,则值为 true。值 false 表示失败或对事件调用了 preventDefault()。

      Egret 2.4

      Web

      zh_CN

    • 检查是否用此 EventDispatcher 对象或其任何始祖为指定事件类型注册了事件侦听器。将指定类型的事件调度给此 EventDispatcher 对象或其任一后代时,如果在事件流的任何阶段触发了事件侦听器,则此方法返回 true。 hasEventListener() 与 willTrigger() 方法的区别是:hasEventListener() 只检查它所属的对象, 而 willTrigger() 方法检查整个事件流以查找由 type 参数指定的事件。

      Parameters

      • type: string

        事件类型

      Returns boolean

      是否注册过监听器,如果注册过返回true,反之返回false

      #hasEventListener()

      Egret 2.4

      Web

      zh_CN

    • 使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。可以为特定类型的事件、阶段和优先级在显示列表的所有节 点上注册事件侦听器。成功注册一个事件侦听器后,无法通过额外调用 on() 来更改其优先级。要更改侦听器的优先级,必须 先调用 removeEventListener()。然后,可以使用新的优先级再次注册该侦听器。注册该侦听器后,如果继续调用具有不同 type 或 useCapture 值的 on(),则会创建单独的侦听器注册。
      如果不再需要某个事件侦听器,可调用 EventDispatcher.removeEventListener() 删除它;否则会产生内存问题。由于垃圾回收器不会删除仍包含引用的对象,因此不会从内存中自动删除使用已注册事件侦听器的对象。复制 EventDispatcher 实例时并不复制其中附加的事件侦听器。(如果新近创建的节点需要一个事件侦听器,必须在创建该节点后附加该侦听器。) 但是,如果移动 EventDispatcher 实例,则其中附加的事件侦听器也会随之移动。如果在正在处理事件的节点上注册事件侦听器,则不会在当 前阶段触发事件侦听器,但会在事件流的稍后阶段触发,如冒泡阶段。如果从正在处理事件的节点中删除事件侦听器,则该事件侦听器仍由当前操 作触发。删除事件侦听器后,决不会再次调用该事件侦听器(除非再次注册以备将来处理)。

      Parameters

      • type: string

        事件的类型。

      • listener: Function

        处理事件的侦听器函数。此函数必须接受 Event 对象作为其唯一的参数,并且不能返回任何结果, 如下面的示例所示: function(evt:Event):void 函数可以有任何名称。

      • thisObject: any

        侦听函数绑定的this对象

      • OptionaluseCapture: boolean

        确定侦听器是运行于捕获阶段还是运行于冒泡阶段。如果将 useCapture 设置为 true, 则侦听器只在捕获阶段处理事件,而不在冒泡阶段处理事件。如果 useCapture 为 false,则侦听器只在冒泡阶段处理事件。 要在两个阶段都侦听事件,请调用 on() 两次:一次将 useCapture 设置为 true,一次将 useCapture 设置为 false。

      • Optionalpriority: number

        事件侦听器的优先级。优先级由一个带符号的整数指定。数字越大,优先级越高。优先级为 n 的所有侦听器会在 优先级为 n -1 的侦听器之前得到处理。如果两个或更多个侦听器共享相同的优先级,则按照它们的添加顺序进行处理。默认优先级为 0。

      Returns void

      • #once()
      • #removeEventListener()

      Egret 2.4

      Web

      zh_CN

    • 添加仅回调一次的事件侦听器,此方法与on()方法不同,on()方法会持续产生回调,而此方法在第一次回调时就会自动移除监听。

      Parameters

      • type: string

        事件的类型。

      • listener: Function

        处理事件的侦听器函数。此函数必须接受 Event 对象作为其唯一的参数,并且不能返回任何结果, 如下面的示例所示: function(evt:Event):void 函数可以有任何名称。

      • thisObject: any

        侦听函数绑定的this对象

      • OptionaluseCapture: boolean

        确定侦听器是运行于捕获阶段还是运行于冒泡阶段。如果将 useCapture 设置为 true, 则侦听器只在捕获阶段处理事件,而不在冒泡阶段处理事件。如果 useCapture 为 false,则侦听器只在冒泡阶段处理事件。 要在两个阶段都侦听事件,请调用 once() 两次:一次将 useCapture 设置为 true,一次将 useCapture 设置为 false。

      • Optionalpriority: number

        事件侦听器的优先级。优先级由一个带符号整数指定。数字越大,优先级越高。优先级为 n 的所有侦听器会在 优先级为 n -1 的侦听器之前得到处理。如果两个或更多个侦听器共享相同的优先级,则按照它们的添加顺序进行处理。默认优先级为 0。

      Returns void

      • #on()
      • #removeEventListener()

      Egret 2.4

      Web

      zh_CN

    • Parameters

      • list: any[]
      • type: string
      • listener: Function
      • thisObject: any
      • OptionaluseCapture: boolean
      • Optionalpriority: number
      • OptionaldispatchOnce: boolean

      Returns boolean

    • 检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。这样,您就可以确定 EventDispatcher 对象在事件流层次结构中的哪个 位置改变了对事件类型的处理。要确定特定事件类型是否确实会触发事件侦听器,请使用 IEventDispatcher.willTrigger()。hasEventListener() 与 willTrigger() 的区别是:hasEventListener() 只检查它所属的对象,而 willTrigger() 检查整个事件流以查找由 type 参数指定的事件。

      Parameters

      • type: string

        事件的类型。

      Returns boolean

      如果指定类型的侦听器已注册,则值为 true;否则,值为 false。

      #willTrigger()

      Egret 2.4

      Web

      zh_CN

    • 派发一个指定参数的事件。

      Parameters

      • type: string

        {string} 事件类型

      • Optionalbubbles: boolean

        {boolean} 确定 Event 对象是否参与事件流的冒泡阶段。默认值为 false。

      • Optionaldata: any

        {any} 事件data

      • Optionalcancelable: boolean

        {boolean} 确定是否可以取消 Event 对象。默认值为 false。

      Returns boolean

      Egret 2.4

      Web

      zh_CN