Options
All
  • Public
  • Public/Protected
  • All
Menu

A Ticker class that runs an update loop that other objects listen to.

This class is composed around listeners meant for execution on the next requested animation frame. Animation frames are requested only when necessary, e.g. When the ticker is started and the emitter has listeners.

memberof

PIXI

Hierarchy

  • Ticker

Index

Constructors

constructor

  • Returns Ticker

Properties

Private _addListener

_addListener: any

Internally adds the event handler so that it can be sorted by priority. Priority allows certain handler (user, AnimatedSprite, Interaction) to be run before the rendering.

param

Current listener being added.

returns

This instance of a ticker

Private _cancelIfNeeded

_cancelIfNeeded: any

Conditionally cancels a pending animation frame.

Private _head

_head: any

The first listener. All new listeners added are chained on this.

Private _lastFrame

_lastFrame: any

The last time keyframe was executed. Maintains a relatively fixed interval with the previous value.

Private _maxElapsedMS

_maxElapsedMS: any

Internal value managed by minFPS property setter and getter. This is the maximum allowed milliseconds between updates.

Private _minElapsedMS

_minElapsedMS: any

Internal value managed by minFPS property setter and getter. This is the maximum allowed milliseconds between updates.

Private _protected

_protected: any

If enabled, deleting is disabled.

Private _requestId

_requestId: any

Internal current frame request ID

Private _requestIfNeeded

_requestIfNeeded: any

Conditionally requests a new animation frame. If a frame has not already been requested, and if the internal emitter has listeners, a new frame is requested.

Private _startIfPossible

_startIfPossible: any

Conditionally requests a new animation frame. If the ticker has been started it checks if a frame has not already been requested, and if the internal emitter has listeners. If these conditions are met, a new frame is requested. If the ticker has not been started, but autoStart is true, then the ticker starts now, and continues with the previous conditions to request a new frame.

Private _tick

_tick: any

Internal tick method bound to ticker instance. This is because in early 2015, Function.bind is still 60% slower in high performance scenarios. Also separating frame requests from update method so listeners may be called at any time and with any animation API, just invoke ticker.update(time).

param

Time since last tick.

autoStart

autoStart: boolean

Whether or not this ticker should invoke the method {@link PIXI.Ticker#start} automatically when a listener is added.

deltaMS

deltaMS: number

Scaler time elapsed in milliseconds from last frame to this frame. This value is capped by setting {@link PIXI.Ticker#minFPS} and is scaled with {@link PIXI.Ticker#speed}. Note: The cap may be exceeded by scaling. If the platform supports DOMHighResTimeStamp, this value will have a precision of 1 µs. Defaults to target frame time

default

16.66

deltaTime

deltaTime: number

Scalar time value from last frame to this frame. This value is capped by setting {@link PIXI.Ticker#minFPS} and is scaled with {@link PIXI.Ticker#speed}. Note: The cap may be exceeded by scaling.

elapsedMS

elapsedMS: number

Time elapsed in milliseconds from last frame to this frame. Opposed to what the scalar {@link PIXI.Ticker#deltaTime} is based, this value is neither capped nor scaled. If the platform supports DOMHighResTimeStamp, this value will have a precision of 1 µs. Defaults to target frame time

default

16.66

lastTime

lastTime: number

The last time {@link PIXI.Ticker#update} was invoked. This value is also reset internally outside of invoking update, but only when a new animation frame is requested. If the platform supports DOMHighResTimeStamp, this value will have a precision of 1 µs.

speed

speed: number

Factor of current {@link PIXI.Ticker#deltaTime}.

example

// Scales ticker.deltaTime to what would be // the equivalent of approximately 120 FPS ticker.speed = 2;

started

started: boolean

Whether or not this ticker has been started. true if {@link PIXI.Ticker#start} has been called. false if {@link PIXI.Ticker#stop} has been called. While false, this value may change to true in the event of {@link PIXI.Ticker#autoStart} being true and a listener is added.

Static Private _shared

_shared: any

The private shared ticker instance

Static Private _system

_system: any

The private system ticker instance

Accessors

FPS

  • get FPS(): number
  • The frames per second at which this ticker is running. The default is approximately 60 in most modern browsers. Note: This does not factor in the value of {@link PIXI.Ticker#speed}, which is specific to scaling {@link PIXI.Ticker#deltaTime}.

    member

    {number}

    readonly

    Returns number

count

  • get count(): number
  • The number of listeners on this ticker, calculated by walking through linked list

    readonly
    member

    {number}

    Returns number

maxFPS

  • get maxFPS(): number
  • set maxFPS(fps: number): void
  • Manages the minimum amount of milliseconds required to elapse between invoking {@link PIXI.Ticker#update}. This will effect the measured value of {@link PIXI.Ticker#FPS}. If it is set to 0, then there is no limit; PixiJS will render as many frames as it can. Otherwise it will be at least minFPS

    member

    {number}

    default

    0

    Returns number

  • Manages the minimum amount of milliseconds required to elapse between invoking {@link PIXI.Ticker#update}. This will effect the measured value of {@link PIXI.Ticker#FPS}. If it is set to 0, then there is no limit; PixiJS will render as many frames as it can. Otherwise it will be at least minFPS

    Parameters

    • fps: number

    Returns void

minFPS

  • get minFPS(): number
  • set minFPS(fps: number): void
  • Manages the maximum amount of milliseconds allowed to elapse between invoking {@link PIXI.Ticker#update}. This value is used to cap {@link PIXI.Ticker#deltaTime}, but does not effect the measured value of {@link PIXI.Ticker#FPS}. When setting this property it is clamped to a value between 0 and PIXI.settings.TARGET_FPMS * 1000.

    member

    {number}

    default

    10

    Returns number

  • Manages the maximum amount of milliseconds allowed to elapse between invoking {@link PIXI.Ticker#update}. This value is used to cap {@link PIXI.Ticker#deltaTime}, but does not effect the measured value of {@link PIXI.Ticker#FPS}. When setting this property it is clamped to a value between 0 and PIXI.settings.TARGET_FPMS * 1000.

    Parameters

    • fps: number

    Returns void

Static shared

  • The shared ticker instance used by PIXI.AnimatedSprite and by PIXI.VideoResource to update animation frames / video textures.

    It may also be used by PIXI.Application if created with the sharedTicker option property set to true.

    The property {@link PIXI.Ticker#autoStart} is set to true for this instance. Please follow the examples for usage, including how to opt-out of auto-starting the shared ticker.

    example

    let ticker = PIXI.Ticker.shared; // Set this to prevent starting this ticker when listeners are added. // By default this is true only for the PIXI.Ticker.shared instance. ticker.autoStart = false; // FYI, call this to ensure the ticker is stopped. It should be stopped // if you have not attempted to render anything yet. ticker.stop(); // Call this when you are ready for a running shared ticker. ticker.start();

    example

    // You may use the shared ticker to render... let renderer = PIXI.autoDetectRenderer(); let stage = new PIXI.Container(); document.body.appendChild(renderer.view); ticker.add(function (time) { renderer.render(stage); });

    example

    // Or you can just update it manually. ticker.autoStart = false; ticker.stop(); function animate(time) { ticker.update(time); renderer.render(stage); requestAnimationFrame(animate); } animate(performance.now());

    member

    {PIXI.Ticker}

    static

    Returns Ticker

Static system

  • The system ticker instance used by PIXI.InteractionManager and by PIXI.BasePrepare for core timing functionality that shouldn't usually need to be paused, unlike the shared ticker which drives visual animations and rendering which may want to be paused.

    The property {@link PIXI.Ticker#autoStart} is set to true for this instance.

    member

    {PIXI.Ticker}

    static

    Returns Ticker

Methods

add

  • Register a handler for tick events. Calls continuously unless it is removed or the ticker is stopped.

    Type parameters

    • T = any

    Parameters

    • fn: TickerCallback<T>

      The listener function to be added for updates

    • Optional context: T

      The listener context

    • Optional priority: UPDATE_PRIORITY

    Returns Ticker

    This instance of a ticker

addOnce

  • Add a handler for the tick event which is only execute once.

    Type parameters

    • T = any

    Parameters

    • fn: TickerCallback<T>

      The listener function to be added for one update

    • Optional context: T

      The listener context

    • Optional priority: UPDATE_PRIORITY

    Returns Ticker

    This instance of a ticker

destroy

  • destroy(): void
  • Destroy the ticker and don't use after this. Calling this method removes all references to internal events.

    Returns void

remove

  • Removes any handlers matching the function and context parameters. If no handlers are left after removing, then it cancels the animation frame.

    Type parameters

    • T = any

    Parameters

    • fn: TickerCallback<T>

      The listener function to be removed

    • Optional context: T

      The listener context to be removed

    Returns Ticker

    This instance of a ticker

start

  • start(): void
  • Starts the ticker. If the ticker has listeners a new animation frame is requested at this point.

    Returns void

stop

  • stop(): void
  • Stops the ticker. If the ticker has requested an animation frame it is canceled at this point.

    Returns void

update

  • update(currentTime?: number): void
  • Triggers an update. An update entails setting the current {@link PIXI.Ticker#elapsedMS}, the current {@link PIXI.Ticker#deltaTime}, invoking all listeners with current deltaTime, and then finally setting {@link PIXI.Ticker#lastTime} with the value of currentTime that was provided. This method will be called automatically by animation frame callbacks if the ticker instance has been started and listeners are added.

    Parameters

    • Optional currentTime: number

    Returns void

Generated using TypeDoc