simple game loop for javascript – server or browser.
npm install gameloop> the core methods/events of a game loop: start, end, pause, resume, update, draw
npm install gameloop
Designed for use with browserify.
``js
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
`js
game.on('update', function(dt){})
game.on('draw', function(context){})
`
Create the game
Parameters
- options Object options.renderer
- Object options.fps
- Number
Examples
`javascript
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 calledframeState
-
End the game. Emits the end event/
Parameters
- state Object – state of end game conditions
Examples
`javascript`
game.end()
Pause the game. Emits the pause event.
Examples
`javascript`
game.pause()
Resume the game. Emits the resume event.
Examples
`javascript`
game.resume()
Start the game. Emits the start event.
Parameters
- state Object – arbitrary starting game state emitted by start event.
Examples
`javascript`
game.start()
Pause or start game depending on game state. Emits either the pause or resume event.
Examples
`javascript`
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
`javascript`
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
`javascript`
game.on('end', function (state) {})
Pause event. Fired when game.pause() is called.
Examples
`javascript`
game.on('pause', function () {})
Resume event. Fired when game.resume() is called.
Examples
`javascript`
game.on('resume', function () {})
Start event. Fired when game.start() is called.
Examples
`javascript`
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
`javascript``
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