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

Constructors

  • Returns Ticker

Properties

autoStart: boolean

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

deltaMS: number

Scaler time elapsed in milliseconds from last frame to this frame. This value is capped by setting PIXI.Ticker#minFPS and is scaled with 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: number

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

elapsedMS: number

Time elapsed in milliseconds from last frame to this frame. Opposed to what the scalar 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: number

The last time 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: number

Factor of current PIXI.Ticker#deltaTime.

Example

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

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

targetFPMS: number

Target frames per millisecond.

Static

Accessors

  • 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 PIXI.Ticker#speed, which is specific to scaling PIXI.Ticker#deltaTime.

    Returns number

    Member

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

    Returns number

    Member

  • get maxFPS(): number
  • Manages the minimum amount of milliseconds required to elapse between invoking PIXI.Ticker#update. This will effect the measured value of 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

    Returns number

    Member

    Default

    0
    
  • set maxFPS(fps): void
  • Parameters

    • fps: number

    Returns void

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

    Returns number

    Member

    Default

    10
    
  • set minFPS(fps): void
  • Parameters

    • fps: number

    Returns void

  • get shared(): Ticker
  • 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 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.

    Returns Ticker

    Example

    import { Ticker } from 'pixi.js';

    const ticker = 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

    import { autoDetectRenderer, Container } from 'pixi.js';

    // You may use the shared ticker to render...
    const renderer = autoDetectRenderer();
    const stage = new Container();
    document.body.appendChild(renderer.view);
    ticker.add((time) => renderer.render(stage));

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

    Member

    Static

  • get system(): Ticker
  • The system ticker instance used 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 PIXI.Ticker#autoStart is set to true for this instance.

    Returns Ticker

    Member

    Static

Methods

  • 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

      The priority for emitting

    Returns this

    This instance of a ticker

  • 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

      The priority for emitting

    Returns this

    This instance of a ticker

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

    Returns void

  • 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 this

    This instance of a ticker

  • Starts the ticker. If the ticker has listeners a new animation frame is requested at this point.

    Returns void

  • Stops the ticker. If the ticker has requested an animation frame it is canceled at this point.

    Returns void

  • Triggers an update. An update entails setting the current PIXI.Ticker#elapsedMS, the current PIXI.Ticker#deltaTime, invoking all listeners with current deltaTime, and then finally setting 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

      the current time of execution

    Returns void

Generated using TypeDoc