node package manager

gameloop

simple game loop for javascript – server or browser.

gameloop

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

npm install gameloop

Designed for use with browserify.

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

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

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')
})

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

End the game. Emits the end event/

Parameters

  • state Object – state of end game conditions

Examples

game.end()

Pause the game. Emits the pause event.

Examples

game.pause()

Resume the game. Emits the resume event.

Examples

game.resume()

Start the game. Emits the start event.

Parameters

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

Examples

game.start()

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

Examples

game.toggle()

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

Draw event.

Parameters

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

Examples

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

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

Parameters

  • state Object state of end game conditions

Examples

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

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

Examples

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

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

Examples

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

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

Examples

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

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 (intervaltime) {
  console.log(interval)
})
  • Fork this repository.
  • Create a branch for your changes.
  • Include tests if applicable.
  • Add/edit documentation for any changes.
  • Submit a pull request.

MIT