@kayelaa/canvas API - v0.3.2
    Preparing search index...

    Class LeaTickerII

    Fixed or variable timestep ticker that emits a "tick" event with delta time (seconds).

    Supports RAF mode (tickInterval = Infinity) or fixed interval.

    const ticker = new LeaTickerII(1000 / 60); // 60 Hz
    ticker.on("tick", (delta) => {
    // update game state
    });
    ticker.start();

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    listenerMap: Map<"error" | "tick", Listener<any[]>[]> = ...
    __intervalId: () => void = null
    __lastTime: number = 0
    speedHackDT: number

    Speed multiplier for delta time (for slow-motion / fast-forward).

    isAuto: boolean = true

    Accessors

    • get isRaf(): boolean

      Whether the ticker is using requestAnimationFrame (RAF) mode.

      Returns boolean

    • get tickInterval(): number

      Tick interval in milliseconds.

      • Finite number = fixed timestep
      • Infinity = RAF / variable timestep

      Returns number

    • set tickInterval(s: number): void

      Parameters

      • s: number

      Returns void

    Methods

    • Await the next emission of a specific event. Resolves with the arguments passed to that event.

      Type Parameters

      • K extends "error" | "tick"

      Parameters

      • event: K
      • timeout: number = ...

      Returns Promise<{ tick: [number]; error: [unknown] }[K]>

    • Await the next emission of any one of the listed events. Resolves with { event: name, args: the arguments it received }

      Type Parameters

      • K extends "error" | "tick"

      Parameters

      • events: K[]

      Returns Promise<{ event: K; args: { tick: [number]; error: [unknown] }[K] }>

    • Type Parameters

      • const K extends readonly ("error" | "tick")[]

      Parameters

      • ...events: K

      Returns Promise<
          {
              [I in string
              | number
              | symbol]: { tick: [number]; error: [unknown] }[K[I<I>]]
          },
      >

    • Registers a listener for the specified event.

      Type Parameters

      • K extends "error" | "tick"

        Event name

      Parameters

      • event: K

        The name of the event

      • listener: (...args: { tick: [number]; error: [unknown] }[K]) => void

        The callback to invoke when the event is emitted

      Returns this

      This emitter for chaining

    • Registers a listener for the specified event but returns a cleanup func.

      Type Parameters

      • K extends "error" | "tick"

        Event name

      Parameters

      • event: K

        The name of the event

      • listener: (off: () => void, ...args: { tick: [number]; error: [unknown] }[K]) => void

        The callback to invoke when the event is emitted

      Returns () => void

    • Registers a one-time listener for the specified event.

      The listener is automatically removed after the first invocation.

      Type Parameters

      • K extends "error" | "tick"

        Event name

      Parameters

      • event: K

        The name of the event

      • listener: (...args: { tick: [number]; error: [unknown] }[K]) => void

        The callback to invoke once

      Returns this

      This emitter for chaining

    • Removes a listener for the specified event.

      Type Parameters

      • K extends "error" | "tick"

        Event name

      Parameters

      • event: K

        The name of the event

      • listener: (...args: { tick: [number]; error: [unknown] }[K]) => void

        The callback to remove

      Returns this

      This emitter for chaining

    • Emits an event, invoking all registered listeners with the provided arguments.

      If the event is "error" and no listeners are registered, the first argument (the error) will be thrown.

      Type Parameters

      • K extends "error" | "tick"

        Event name

      Parameters

      • event: K

        The name of the event to emit

      • ...args: { tick: [number]; error: [unknown] }[K]

        Arguments to pass to listeners

      Returns boolean

      true if any listeners were invoked, false otherwise

    • Emits an event, invoking all registered listeners with the provided arguments.

      If the event is "error" and no listeners are registered, the first argument (the error) will be thrown.

      Type Parameters

      • K extends "error" | "tick"

        Event name

      Parameters

      • event: K

        The name of the event to emit

      • ...args: any

        Arguments to pass to listeners

      Returns boolean

      true if any listeners were invoked, false otherwise

    • Removes all listeners for the specified event, or all listeners if no event is provided.

      Type Parameters

      • K extends "error" | "tick"

        Event name

      Parameters

      • Optionalevent: K

        Optional event name to clear listeners for

      Returns LeaTickerII

      This emitter for chaining

    • Returns the number of listeners registered for the specified event.

      Type Parameters

      • K extends "error" | "tick"

        Event name

      Parameters

      • event: K

        The event to count listeners for

      Returns number

      The number of registered listeners

    • Parameters

      • now: number

      Returns void

    • Returns a promise that resolves after the given milliseconds. Uses the nearest available ticker if you pass one (recommended), otherwise falls back to setTimeout.

      Parameters

      Returns Promise<void>

    • Resolves when the condition function returns true (checked every tick)

      Parameters

      • condition: () => boolean
      • OptionaltimeoutMs: number

      Returns Promise<void>

    • Current time in milliseconds (monotonic).

      Returns number

    • Parameters

      • delta: number

      Returns void

    • Starts the ticker loop.

      Returns void

    • Stops the ticker loop.

      Returns void

    • Parameters

      • ms: number
      • offset: number = 0

      Returns number

    • Parameters

      • ms: number
      • offset: number = 0

      Returns number