gameloop
v1.1.4
Published
simple game loop for javascript – server or browser.
Maintainers
Readme
gameloop
the core methods/events of a game loop: start, end, pause, resume, update, draw
Install
npm install gameloopDesigned 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
newkeyword is optional
Use update and draw events
game.on('update', function(dt){})
game.on('draw', function(context){})API
createGame
Create the game
Parameters
optionsObjectoptions.rendererObjectoptions.fpsNumber
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
rendererObjectdeltaTimeNumber – time remaining until game.update is calledframeState
game.end
End the game. Emits the end event/
Parameters
stateObject – 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
stateObject – arbitrary starting game state emitted bystartevent.
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
intervalNumber – interval between each frametimeNumber – total time elapsed
Game#draw
Draw event.
Parameters
frameStateNumber – current state of the completion of the framedeltaNumber
Examples
game.on('draw', function (renderer, dt) {
console.log(dt)
})Game#end
End event. Fired when game.end() is called.
Parameters
stateObject 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
intervalNumber – interval between each frameframeStateNumber – current state of the completion of the frametimeNumber – 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
