Skip to main content

abstractClock

Abstract Clock is the base type of all Clocks

It has a few opinions

  1. It manages the calculation of what "elapsed" time means and thus maximum fps
  2. The default timing api is implemented in now()

To implement your own clock, extend Clock and override start/stop to start and stop the clock, then call update() with whatever method is unique to your clock implementation.

Hierarchy

Index

Constructors

constructor

Properties

publicfpsSampler

fpsSampler: FpsSampler

Methods

publicelapsed

  • elapsed(): number
  • Get the elapsed time for the last completed frame


    Returns number

publicabstractisRunning

  • isRunning(): boolean
  • Returns if the clock is currently running


    Returns boolean

publicnow

  • now(): number
  • Get the current time in milliseconds


    Returns number

publicschedule

  • schedule(cb: (elapsedMs: number) => any, timeoutMs?: number): void
  • Schedule a callback to fire given a timeout in milliseconds using the excalibur [[Clock]]

    This is useful to use over the built in browser setTimeout because callbacks will be tied to the excalibur update clock, instead of browser time, this means that callbacks wont fire if the game is stopped or paused.


    Parameters

    • cb: (elapsedMs: number) => any

      callback to fire

    • timeoutMs: number = 0

      Optionally specify a timeout in milliseconds from now, default is 0ms which means the next possible tick

    Returns void

publicsetFatalExceptionHandler

  • setFatalExceptionHandler(handler: (e: unknown) => any): void
  • Parameters

    • handler: (e: unknown) => any

    Returns void

publicabstractstart

  • start(): void
  • Start the clock, it will then periodically call the tick(elapsedMilliseconds) since the last tick


    Returns void

publicabstractstop

  • stop(): void
  • Stop the clock, tick() is no longer called


    Returns void

publictoStandardClock

publictoTestClock