Module Ticker-PIXI

class type _t = { ... }
type t = Js.t(_t);

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.

let shared: t;

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.

let system: t;

The system ticker instance used by PIXI.interaction.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 PIXI.Ticker#autoStart is set to true for this instance.

module Impl: { ... };
include Impl;
let create: unit => t;
let getAutoStart: Js.t(_t) => bool;

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

let setAutoStart: Js.t(_t) => bool => unit;

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

let getCount: Js.t(_t) => int;

Counts the number of listeners on this ticker.

let getDeltaMS: Js.t(_t) => float;

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 16.66

let getDeltaTime: Js.t(_t) => float;

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. @default: 1

let getElapsedMS: Js.t(_t) => float;

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. @default: 16.66

let getFPS: Js.t(_t) => float;

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.

let getLastTime: Js.t(_t) => float;

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. @default: -1

let getMaxFPS: Js.t(_t) => float;

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 @default: 0

let getMinFPS: Js.t(_t) => float;

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 PIXI.settings.TARGET_FPMS * 1000. @default: 10

let getSpeed: Js.t(_t) => float;

Factor of current PIXI.Ticker#deltaTime. @default: 1

let setSpeed: Js.t(_t) => float => unit;

Factor of current PIXI.Ticker#deltaTime. @default: 1

let getStarted: Js.t(_t) => bool;

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. @default: false

let add: Js.t(_t) as 'a => (float => unit) => ?⁠context:'b => ?⁠priority:int => unit => 'a;

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

let addOnce: Js.t(_t) as 'a => (float => unit) => ?⁠context:'b => ?⁠priority:int => unit => 'a;

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

let destroy: Js.t(_t) => unit;

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

let remove: Js.t(_t) as 'a => (float => unit) => ?⁠context:'b => unit => 'a;

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

let start: Js.t(_t) => unit;

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

let stop: Js.t(_t) => unit;

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

let update: Js.t(_t) => ?⁠currentTime:float => unit => unit;

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.