A swipe component for Phaser.io
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



A swipe component for Phaser.io


You can grab the swipe.js file and include it in your project, or you can use npm or bower:

   npm install phaser-swipe
   bower install phaser-swipe


You can use it in two ways; with or without a model. This is without model.

  var Swipe = require('phaser-swipe');
  // in create
  this.swipe = new Swipe(this.game);
  // in update
  var direction = this.swipe.check();
  if (direction!==null) {
    // direction= { x: x, y: y, direction: direction }
    switch(direction.direction) {
       case this.swipe.DIRECTION_LEFT: // do something
       case this.swipe.DIRECTION_RIGHT:
       case this.swipe.DIRECTION_UP:
       case this.swipe.DIRECTION_DOWN:
       case this.swipe.DIRECTION_UP_LEFT:
       case this.swipe.DIRECTION_UP_RIGHT:
       case this.swipe.DIRECTION_DOWN_LEFT:
       case this.swipe.DIRECTION_DOWN_RIGHT:

This is with a model. Here you define your methods in your model. Only those methods defined will be used. So if you do not want the diagonals, you can just omit those methods.

   function YourModel() {
      up: function(point) {},
      down: function(point) {},
      left: function(point) {},
      right: function(point) {},
      upLeft: function(point) {},
      upRight: function(point) {},
      downLeft: function(point) {},
      downRight: function(point) {}
   // in create
   this.swipe = new Swipe(this.game, yourmodel);
   // in update. The methods will only be called if you have a swipe.
   // point: { x: x, y: y }


The module will automatically understand all arrow keys for understanding up/down/left/right. If you use the model, it will call the methods for you. If you do not use a model, you will get a direction from check(), but in both ways you will not get a point for where it was pressed.

It understands the diagonals also, so pressing up and right will return DIRECTION_UP_RIGHT and call model.upRight() if it exists. Because two keys need to be pressed, the signal for a single key will not fire until it is released.