Newlyweds Proposing Marriage

    gameloop

    1.1.4 • Public • Published

    gameloop

    the core methods/events of a game loop: start, end, pause, resume, update, draw

    Install

    npm install gameloop
    

    Designed for use with browserify.

    Usage

    Create a canvas and game object:

    var canvas = document.createElement('canvas')
     
    var game = new Game({
      renderer: canvas.getContext('2d')
    })

    You can use it server-side by not passing in a canvas context: var game = Game();

    the new keyword is optional

    Use update and draw events

    game.on('update', function(dt){})
     
    game.on('draw', function(context){})

    API

    createGame

    Create the game

    Parameters

    • options Object
      • options.renderer Object
      • options.fps Number

    Examples

    var createGame = require('gameloop')
     
    var game = createGame({
      renderer: document.createElement('canvas').getContext('2d')
    })

    game.draw

    Draw the game. Emits the draw event. You'll likely never call this method, but you may need to override it. Make sure to always emit the update event with the renderer and delta time.

    Parameters

    • renderer Object
    • deltaTime Number – time remaining until game.update is called
    • frameState

    game.end

    End the game. Emits the end event/

    Parameters

    • state Object – state of end game conditions

    Examples

    game.end()

    game.pause

    Pause the game. Emits the pause event.

    Examples

    game.pause()

    game.resume

    Resume the game. Emits the resume event.

    Examples

    game.resume()

    game.start

    Start the game. Emits the start event.

    Parameters

    • state Object – arbitrary starting game state emitted by start event.

    Examples

    game.start()

    game.toggle

    Pause or start game depending on game state. Emits either the pause or resume event.

    Examples

    game.toggle()

    game.update

    Update the game state. Emits the update event. You'll likely never call this method, but you may need to override it. Make sure to always emit the update event with the delta time.

    Parameters

    • interval Number – interval between each frame
    • time Number – total time elapsed

    Game#draw

    Draw event.

    Parameters

    • frameState Number – current state of the completion of the frame
    • delta Number

    Examples

    game.on('draw', function (renderer, dt) {
      console.log(dt)
    })

    Game#end

    End event. Fired when game.end() is called.

    Parameters

    • state Object state of end game conditions

    Examples

    game.on('end', function (state) {})

    Game#pause

    Pause event. Fired when game.pause() is called.

    Examples

    game.on('pause', function () {})

    Game#resume

    Resume event. Fired when game.resume() is called.

    Examples

    game.on('resume', function () {})

    Game#start

    Start event. Fired when game.start() is called.

    Examples

    game.on('start', function () {})

    Game#update

    Update event.

    Parameters

    • interval Number – interval between each frame
    • frameState Number – current state of the completion of the frame
    • time Number – total time elapsed

    Examples

    game.on('update', function (interval, time) {
      console.log(interval)
    })

    Contributing

    • Fork this repository.
    • Create a branch for your changes.
    • Include tests if applicable.
    • Add/edit documentation for any changes.
    • Submit a pull request.

    License

    MIT

    Install

    npm i gameloop

    DownloadsWeekly Downloads

    15

    Version

    1.1.4

    License

    MIT

    Last publish

    Collaborators

    • sethvincent