summaryrefslogtreecommitdiff
path: root/game/plugins/orientation.js
diff options
context:
space:
mode:
Diffstat (limited to 'game/plugins/orientation.js')
-rw-r--r--game/plugins/orientation.js38
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;