Driver
import { Driver } from 'pixi-silk/ui';
Runs a widget’s animation step on a ticker only while something moves. step returns true
while it still has work. Once it returns false the driver leaves the ticker, so idle widgets
cost nothing per frame.
Constructors#
Constructor#
new Driver(step: (dt: number) => boolean, ticker?: Ticker | null): Driver;
ticker defaults to Ticker.shared. Pass null to call Driver.tick yourself (tests, custom loops).
Parameters#
| Parameter | Type | Default value |
|---|---|---|
step | (dt: number) => boolean | undefined |
ticker | Ticker | null | Ticker.shared |
Returns#
Driver
Accessors#
running#
Get Signature#
get running(): boolean;
True while attached to the ticker.
Returns
boolean
Methods#
sleep()#
sleep(): void;
Leaves the ticker. Safe to call twice, or after the ticker was destroyed.
Returns#
void
tick()#
tick(dt: number): boolean;
Advances by dt seconds by hand, clamped to 0..0.1. Returns true while there is still work, and leaves the ticker when done.
Parameters#
| Parameter | Type |
|---|---|
dt | number |
Returns#
boolean
wake()#
wake(): void;
Starts stepping on the next frame (no-op when already running).
Returns#
void