API文档: 0.6.2
显示:

Ticker类

定义于: Ticker:41
模块: CreateJS

这个Ticker提供了一个集中的tick(周期)或在一个时间间隔内心跳式播放。监听器可以订阅事件通知时设置的时间间隔运行。

注意,tick事件的时间间隔称为目标区间,并可播放以较慢的时间间隔当在高CPU负载时。这个Ticker类使用一个静态的接口(ex. Ticker.framerate = 30;)和不能被实例化。

例如

 createjs.Ticker.addEventListener("tick", handleTick);
 function handleTick(event) {
     // 每个tick实施运行(又名帧)
     if (!event.paused) {
         // 当这个Ticker不是paused时保持活跃
     }
 }

索引项

方法

属性

事件

方法

_dispatchEvent

(
  • eventObj
  • eventPhase
)
受保护的

参数:

_getTime

() 受保护的 静态的

定义于 _getTime:625

_handleRAF

() 受保护的 静态的

定义于 _handleRAF:548

_handleSynch

() 受保护的 静态的

定义于 _handleSynch:533

_handleTimeout

() 受保护的 静态的

定义于 _handleTimeout:559

_setupTick

() 受保护的 静态的

定义于 _setupTick:570

_tick

() 受保护的 静态的

定义于 _tick:591

addEventListener

(
  • type
  • listener
  • [useCapture]
)
函数 | 对象

添加特定的事件监听器.注意,添加多个听众相同的函数将导致多个回调被解雇。

例如

 displayObject.addEventListener("click", handleClick);
 function handleClick(event) {
    // 点击时发生
 }

参数:

  • type 字符型

    字符串类型的事件。

  • listener 函数 | 对象

    一个拥有handleEvent方法的对象,或者一个当这个事件被分派时将会被回调的函数。

  • [useCapture] 布尔型 可选的

    对于冒泡的事件,表明是否侦听事件捕获目标或冒泡阶段。

返回:

函数 | 对象:

返回链接的侦听器或任务。

dispatchEvent

(
  • eventObj
  • [bubbles]
  • [cancelable]
)
布尔型

Dispatches the specified event to all listeners.

Example

 //使用一个字符串事件
 this.dispatchEvent("complete");

 // 使用一个事件实例
 var event = new createjs.Event("progress");
 this.dispatchEvent(event);

参数:

  • eventObj 对象 | 字符型 | 事件

    一个伴有“type”属性的对象,或一个字符串类型。 通用对象将工作时,建议使用CreateJS事件实例。 如果使用一个字符串, 如果有必要dispatchEvent会建造一个特定类型的事件实例。 这后一种方法可以被用来避免可能没有任何监听器的non-bubbling事件对象实例化事件。

  • [bubbles] 布尔型 可选的

    当一个字符串传递给eventObj指定了bubbles (冒泡)值。

  • [cancelable] 布尔型 可选的

    当一个字符串传递给eventObj指定了 cancelable (可取消的)值.

返回:

布尔型:

如果 preventDefault() 在一个可取消的事件中被调用,返回flase,否则为true。

getEventTime

(
  • runTime
)
数值型 静态的

定义于 getEventTime:505

getTime*(获得时间) 方法相似, 但是返回tick(周期)事件对最近的时间象.

参数:

  • runTime 布尔型

    [runTime=false]如果为true,运行时属性将返回,而不是时间。

返回:

数值型:

这个时间或最近tick事件的runTime属性或1。

getFPS

() 数值型 弃用的 静态的

定义于 getFPS:353

使用 framerate 属性代替了.

返回:

getInterval

() 数值型 弃用的 静态的

定义于 getInterval:331

使用 interval 属性代替了。

返回:

getMeasuredFPS

(
  • [ticks]
)
数值型 静态的

定义于 getMeasuredFPS:449

返回实际帧/每秒的周期(每秒的次数)。

参数:

  • [ticks] 数值型 可选的

    先前的tick的数量来衡量实际的帧/每秒滴答声。 默认为每秒tick(周期)的数量。

返回:

数值型:

实际的帧/每秒的ticks。 根据性能,这每秒的目标帧可能是不同的。

getMeasuredTickTime

(
  • [ticks]
)
数值型 静态的

Returns the average time spent within a tick. This can vary significantly from the value provided by getMeasuredFPS because it only measures the time spent within the tick execution stack.

Example 1: With a target FPS of 20, getMeasuredFPS() returns 20fps, which indicates an average of 50ms between the end of one tick and the end of the next. However, getMeasuredTickTime() returns 15ms. This indicates that there may be up to 35ms of "idle" time between the end of one tick and the start of the next.

Example 2: With a target FPS of 30, getFPS() returns 10fps, which indicates an average of 100ms between the end of one tick and the end of the next. However, getMeasuredTickTime() returns 20ms. This would indicate that something other than the tick is using ~80ms (another script, DOM rendering, etc).

参数:

  • [ticks] Number optional

    The number of previous ticks over which to measure the average time spent in a tick. Defaults to the number of ticks per second. To get only the last tick's time, pass in 1.

返回:

Number:

The average time spent in a tick in milliseconds.

getPaused

() Boolean deprecated static

定义于 getPaused:479

Use the paused property instead.

返回:

getTicks

(
  • pauseable
)
Number static

定义于 getTicks:517

Returns the number of ticks that have been broadcast by Ticker.

参数:

  • pauseable Boolean

    Indicates whether to include ticks that would have been broadcast while Ticker was paused. If true only tick events broadcast while Ticker is not paused will be returned. If false, tick events that would have been broadcast while Ticker was paused will be included in the return value. The default value is false.

返回:

Number:

of ticks that have been broadcast.

getTime

(
  • [runTime=false]
)
Number static

定义于 getTime:491

Returns the number of milliseconds that have elapsed since Ticker was initialized via {{#crossLink "Ticker/init"}}. Returns -1 if Ticker has not been initialized. For example, you could use this in a time synchronized animation to determine the exact amount of time that has elapsed.

参数:

  • [runTime=false] Boolean optional

    If true only time elapsed while Ticker was not paused will be returned. If false, the value returned will be total time elapsed since the first tick event listener was added.

返回:

Number:

Number of milliseconds that have elapsed since Ticker was initialized or -1.

hasEventListener

(
  • type
)
布尔型

表明是否至少有一个侦听器指定的事件类型。

参数:

返回:

布尔型:

如果指定的事件侦听器至少有一个监听事件,为返回true。

init

() 静态的

定义于 init:389

启动这个tick(周期)。 当第一个侦听器被添加时自动调用。

initialize

() 弃用的 受保护的

REMOVED. 赞成使用MySuperClass_constructor. 看extendpromote 获得更多详情

有一个继承与EaselJS教程分布式/教程/继承。

off

(
  • type
  • listener
  • [useCapture]
)

removeEventListener方法的一个快捷方法,使用相同的参数和返回值。 这是一个伴随着on的方法。

重要的是: 删除一个添加了 on 方法的侦听器,你必须通过侦听器返回的包装器函数。看一个关于 on 的例子.

参数:

  • type 字符型

    字符串类型的事件.

  • listener 函数 | 对象

    侦听器函数或对象。

  • [useCapture] 布尔型 可选的

    对于冒泡的事件,表明是否侦听事件捕获目标或冒泡阶段。

on

(
  • type
  • listener
  • [scope]
  • [once=false]
  • [data]
  • [useCapture=false]
)
函数

继承自 EventDispatcher: on:187

使用addEventListener方法的一个快捷方式,可以更容易地指定一个执行范围,有一个侦听器只运行一次,将任意数据作为侦听器的参数,和删除这个侦听器。

这种方法是通过创建一个匿名的包装函数和用addEventListener订阅它。 使用的包装函数返回removeEventListener (或者 off)。

重要的是: 使用 on 删除一个侦听器,你必须通过包装器函数返回侦听器,或使用remove。 同样地,每一次调用 on 一个新的包装器函数将被订阅,所以用相同的参数多个调用 on 将创建多个侦听器。/p>

Example

    var listener = myBtn.on("click", handleClick, null, false, {count:3});
    function handleClick(evt, data) {
        data.count -= 1;
        console.log(this == myBtn); // true——默认为调度范围
        if (data.count == 0) {
            alert("clicked 3 times!");
            myBtn.off("click", listener);
            // 替换: evt.remove();
        }
    }

参数:

  • type 字符型

    字符串类型的事件

  • listener 函数 | 对象

    一个有handleEvent方法对象,或一个在事件注册时被回调的函数。

  • [scope] 对象 可选的

    执行侦听器的范围。 默认为dispatcher/ currentTarget函数监听器,和侦听器本身为对象的监听器(ie:使用handleEvent)。

  • [once=false] 布尔型 可选的

    如果为true,这个监听器在第一次触发后移除自己。

  • [data] 可选的

    任意的数据将作为第二个参数调用侦听器。

  • [useCapture=false] 布尔型 可选的

    对于冒泡的事件,表明是否侦听事件捕获目标或冒泡阶段

返回:

函数:

返回的匿名函数作为侦听器被创建并分配。 这使用之后需要用.removeEventListener删除侦听器。

removeAllEventListeners

(
  • [type]
)

删除指定类型的所有监听器,或所有监听类型。

例如

 // 移除所有的监听器
 displayObject.removeAllEventListeners();

 // 移除所有的点击监听
 displayObject.removeAllEventListeners("click");

参数:

  • [type] 字符型 可选的

    字符串类型的事件。 如果省略了,所有的监听类型将被删除。

removeEventListener

(
  • type
  • listener
  • [useCapture]
)

移除指定的监听。

重要提示: 你必须通过具体的函数添加事件参考使用。 如果一个引用函数,或者函数作为回调函数被关闭,必须使用proxy(引用)/closure(关闭)— 一个新的proxy(引用)/closure(关闭)将不会工作

例如

 displayObject.removeEventListener("click", handleClick);

参数:

  • type 字符型

    字符串类型的事件。

  • listener 函数 | 对象

    侦听器函数或对象。

  • [useCapture] 布尔型 可选的

    对于冒泡的事件,表明是否侦听事件捕获目标或冒泡阶段。

reset

() 静态的

定义于 reset:404

停止这个Ticker并移除所有监听器. 使用init() 去重新启动这个Ticker.

setFPS

(
  • value
)
弃用的 静态的

定义于 setFPS:342

使用 framerate属性代替。

参数:

setInterval

(
  • interval
)
弃用的 静态的

定义于 setInterval:318

使用interval 属性代替。

参数:

setPaused

(
  • value
)
弃用的 静态的

定义于 setPaused:467

使用paused 属性代替。

参数:

toString

() 字符型

返回:

字符型:

实例的一个字符串表示。

willTrigger

(
  • type
)
布尔型

表明是否至少有一个监听器为指定的对象或它的任何事件类型祖先(父母,父母的父母,等等)。 返回的true值表明这个对象一个冒泡事分派了指定的类型,它将触发至少一个侦听器。/p>

这类似于 hasEventListener,但它搜索整个 事件流为一个侦听器,而不是这个对象。

参数:

返回:

布尔型:

返回 true 如果至少有一个为指定的事件侦听器。

属性

_captureListeners

Object protected

_inited

Boolean protected static

定义于 _inited:223

_interval

Number protected static

定义于 _interval:265

_lastTime

Number protected static

定义于 _lastTime:273

_listeners

Object protected

_pausedTicks

Number protected static

定义于 _pausedTicks:256

The number of ticks that have passed while Ticker has been paused

_pausedTime

Number protected static

定义于 _pausedTime:239

_raf

Boolean protected static

定义于 _raf:306

True if currently using requestAnimationFrame, false if using setTimeout. This may be different than timingMode if that property changed and a tick hasn't fired.

_startTime

Number protected static

定义于 _startTime:231

_ticks

Number protected static

定义于 _ticks:247

The number of ticks that have passed

_tickTimes

Array protected static

定义于 _tickTimes:289

_timerId

Number protected static

定义于 _timerId:297

Stores the timeout or requestAnimationFrame id.

_times

Array protected static

定义于 _times:281

framerate

Number static

定义于 framerate:373

Indicates the target frame rate in frames per second (FPS). Effectively just a shortcut to interval, where framerate == 1000/interval.

interval

Number static

定义于 interval:364

Indicates the target time (in milliseconds) between ticks. Default is 50 (20 FPS). Note that actual time between ticks may be more than specified depending on CPU load. This property is ignored if the ticker is using the RAF timing mode.

maxDelta

Number static

定义于 maxDelta:166

Specifies a maximum value for the delta property in the tick event object. This is useful when building time based animations and systems to prevent issues caused by large time gaps caused by background tabs, system sleep, alert dialogs, or other blocking routines. Double the expected frame duration is often an effective value (ex. maxDelta=50 when running at 40fps).

This does not impact any other values (ex. time, runTime, etc), so you may experience issues if you enable maxDelta when using both delta and other values.

If 0, there is no maximum.

Default: 0

paused

Boolean static

定义于 paused:183

When the ticker is paused, all listeners will still receive a tick event, but the paused property of the event will be true. Also, while paused the runTime will not increase. See tick, getTime, and getEventTime for more info.

Example

 createjs.Ticker.addEventListener("tick", handleTick);
 createjs.Ticker.paused = true;
 function handleTick(event) {
     console.log(event.paused,
         createjs.Ticker.getTime(false),
         createjs.Ticker.getTime(true));
 }

Default: false

RAF

String static readonly

定义于 RAF:91

In this mode, Ticker passes through the requestAnimationFrame heartbeat, ignoring the target framerate completely. Because requestAnimationFrame frequency is not deterministic, any content using this mode should be time based. You can leverage getTime and the tick event object's "delta" properties to make this easier.

Falls back on TIMEOUT if the requestAnimationFrame API is not supported.

Default: "raf"

RAF_SYNCHED

String static readonly

定义于 RAF_SYNCHED:69

In this mode, Ticker uses the requestAnimationFrame API, but attempts to synch the ticks to target framerate. It uses a simple heuristic that compares the time of the RAF return to the target time for the current frame and dispatches the tick when the time is within a certain threshold.

This mode has a higher variance for time between frames than TIMEOUT, but does not require that content be time based as with RAF while gaining the benefits of that API (screen synch, background throttling).

Variance is usually lowest for framerates that are a divisor of the RAF frequency. This is usually 60, so framerates of 10, 12, 15, 20, and 30 work well.

Falls back to TIMEOUT if the requestAnimationFrame API is not supported.

Default: "synched"

TIMEOUT

String static readonly

定义于 TIMEOUT:107

In this mode, Ticker uses the setTimeout API. This provides predictable, adaptive frame timing, but does not provide the benefits of requestAnimationFrame (screen synch, background throttling).

Default: "timeout"

timingMode

String static

定义于 timingMode:155

Specifies the timing api (setTimeout or requestAnimationFrame) and mode to use. See Ticker/TIMEOUT, Ticker/RAF, and Ticker/RAF_SYNCHED for mode details.

Default: Ticker.TIMEOUT

useRAF

Boolean deprecated static

定义于 useRAF:144

Deprecated: Deprecated in favour of {{#crossLink "Ticker/timingMode"}}{{/crossLink}}.

Deprecated in favour of Ticker/timingMode, and will be removed in a future version. If true, timingMode will use Ticker/RAF_SYNCHED by default.

Default: false

事件

tick

定义于 tick:120

可用于0.6.0以后

注册每个tick. 这个事件将被分派到每个监听事件当这个Ticker使用setPaused被暂停。

例如

 createjs.Ticker.addEventListener("tick", handleTick);
 function handleTick(event) {
     console.log("Paused:", event.paused, event.delta);
 }

事件有效负载::

  • target 对象

    分派事件的对象。

  • type 字符型

    事件类型。

  • paused 布尔型

    表明ticker目前是否暂停。

  • delta 数值型

    在微软上自最后一次tick的运行时间。

  • time 数值型

    在微软上自Ticker被初始化的总时间.

  • runTime 数值型

    在微软上的,自Ticker被初始化没有被暂停的总时间。例如, 你可以确定这个Ticker自初始化与暂停的time-runTime时间。