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
Objectoptions.renderer
Objectoptions.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
ObjectdeltaTime
Number – time remaining until game.update is calledframeState
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 bystart
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 frametime
Number – total time elapsed
Draw event.
Parameters
frameState
Number – current state of the completion of the framedelta
Number
Examples
game.on('draw', function (renderer, dt) {
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 frameframeState
Number – current state of the completion of the frametime
Number – total time elapsed
Examples
game.on('update', function (interval, time) {
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