diff options
Diffstat (limited to 'game/plugins/orientation.js')
-rw-r--r-- | game/plugins/orientation.js | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/game/plugins/orientation.js b/game/plugins/orientation.js new file mode 100644 index 0000000..77ad9fc --- /dev/null +++ b/game/plugins/orientation.js @@ -0,0 +1,38 @@ +'use strict'; + +var Orientation = function() { + this.onLeft = new Phaser.Signal(); + this.onRight = new Phaser.Signal(); + this.onUp = new Phaser.Signal(); + this.onDown = new Phaser.Signal(); + + var previousEvent = { + gamma: 0, + beta: 0 + }; + + var threshhold = 15; + + var processOrientationEvent = function(event) { + if (event.gamma < -threshhold && previousEvent.gamma >= -threshhold) { + this.onLeft.dispatch(); + } + if (event.gamma > threshhold && previousEvent.gamma <= threshhold) { + this.onRight.dispatch(); + } + if (event.beta < -threshhold && previousEvent.beta >= -threshhold) { + this.onUp.dispatch(); + } + if (event.beta > threshhold && previousEvent.beta <= threshhold) { + this.onDown.dispatch(); + } + + + previousEvent = event; + } + + window.addEventListener('deviceorientation', processOrientationEvent); +} + + +module.exports = Orientation; |