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

    Timer 类是计时器的接口,它使您能按指定的时间序列运行代码。 使用 start() 方法来启动计时器。为 timer 事件添加事件侦听器,以便将代码设置为按计时器间隔运行。 可以创建 Timer 对象以运行一次或按指定间隔重复运行,从而按计划执行代码。 根据 Egret 的帧速率或运行时环境(可用内存和其他因素),运行时调度事件的间隔可能稍有不同。

    TimerEvent

    Egret 2.4

    Web

    egret/utils/Timer.ts

    zh_CN

    Hierarchy (View Summary)

    Index
    • 使用指定的 delay 和 repeatCount 状态构造新的 Timer 对象。

      Parameters

      • delay: number

        计时器事件间的延迟(以毫秒为单位)。建议 delay 不要低于 20 毫秒。计时器频率不得超过 60 帧/秒,这意味着低于 16.6 毫秒的延迟可导致出现运行时问题。

      • repeatCount: number = 0

        指定重复次数。如果为零,则计时器将持续不断重复运行。如果不为 0,则将运行计时器,运行次数为指定的次数,然后停止。

      Returns Timer

      Egret 2.4

      Web

      zh_CN

    repeatCount: number

    设置的计时器运行总次数。如果重复计数设置为 0,则计时器将持续不断运行,或直至调用了 stop() 方法或节目停止。 如果重复计数不为 0,则将运行计时器,运行次数为指定的次数。如果设置的 repeatCount 总数等于或小于 currentCount,则计时器将停止并且不会再次触发。

    Egret 2.4

    Web

    zh_CN

    • get hashCode(): number

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

      Returns number

      Egret 2.4

      Web

      zh_CN

    • get delay(): number

      计时器事件间的延迟(以毫秒为单位)。如果在计时器正在运行时设置延迟间隔,则计时器将按相同的 repeatCount 迭代重新启动。
      注意:建议 delay 不要低于 20 毫秒。计时器频率不得超过 60 帧/秒,这意味着低于 16.6 毫秒的延迟可导致出现运行时问题。

      Returns number

      Egret 2.4

      Web

      zh_CN

    • set delay(value: number): void

      Parameters

      • value: number

      Returns void

    • get currentCount(): number

      计时器从 0 开始后触发的总次数。如果已重置了计时器,则只会计入重置后的触发次数。

      Returns number

      Egret 2.4

      Web

      zh_CN

    • get running(): boolean

      计时器的当前状态;如果计时器正在运行,则为 true,否则为 false。

      Returns boolean

      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 对象注册任何匹配的侦听器,则对此方法的调用没有任何效果。

      Parameters

      • type: string

        事件的类型。

      • listener: Function

        要删除的侦听器对象

      • thisObject: any

        侦听函数绑定的this对象

      • OptionaluseCapture: boolean

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

      Returns void

      Egret 2.4

      Web

      zh_CN

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

      Parameters

      • type: string

        事件的类型。

      Returns boolean

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

      #willTrigger()

      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

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

      Parameters

      • event: Event

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

      Returns boolean

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

      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

    • 如果计时器正在运行,则停止计时器,并将 currentCount 属性设回为 0,这类似于秒表的重置按钮。然后,在调用 start() 后,将运行计时器实例,运行次数为指定的重复次数(由 repeatCount 值设置)。

      Returns void

      Egret 2.4

      Web

      zh_CN

    • 如果计时器尚未运行,则启动计时器。

      Returns void

      Egret 2.4

      Web

      zh_CN

    • 停止计时器。如果在调用 stop() 后调用 start(),则将继续运行计时器实例,运行次数为剩余的 重复次数(由 repeatCount 属性设置)。

      Returns void

      Egret 2.4

      Web

      zh_CN