Skip to content

Latest commit

 

History

History
85 lines (59 loc) · 1.89 KB

File metadata and controls

85 lines (59 loc) · 1.89 KB

Potion

npm version

Potion is a game library with simple and useful abstractions.

  • Asset loader
  • Input event handling
  • Sound manager
  • State manager
  • Multi-layered canvas
  • HiDPI monitor support
  • Debugger for in game logging and switch toggling

Documentation

Installation

Potion is compatible with CommonJS modules. Can be used with browserify, webpack and others. You can install it from npm.

npm install potion

There is also a built version you can download

Usage

<div class="container"></div>
var Potion = require('potion');

var app = Potion.init(document.querySelector('.container'), {
  configure: function() {
    app.resize(400, 400);
  },

  init: function() {
    this.x = 0;
    this.y = 0;
    this.dx = 0;
    this.dy = 0;
  },

  update: function(time) {
    if (app.input.isKeyDown('w')) { this.dy -= 5000 * time; }
    if (app.input.isKeyDown('d')) { this.dx += 5000 * time; }
    if (app.input.isKeyDown('s')) { this.dy += 5000 * time; }
    if (app.input.isKeyDown('a')) { this.dx -= 5000 * time; }

    this.dx = this.dx + (0 - this.dx) * 8 * time;
    this.dy = this.dy + (0 - this.dy) * 8 * time;

    this.x += this.dx * time;
    this.y += this.dy * time;
  },

  render: function() {
    app.video.ctx.fillRect(this.x, this.y, 10, 10);
  }
});

See also

License

MIT license