Prevent default browser action for SPACEBAR and ARROW keys
authorMegaBrutal <code+git@megabrutal.com>
Mon, 18 Apr 2016 13:53:34 +0000 (13:53 +0000)
committerMegaBrutal <code+git@megabrutal.com>
Mon, 18 Apr 2016 13:53:34 +0000 (13:53 +0000)
SPACEBAR scrolls the page down on some browsers, and ARROW keys
may also cause the page to scroll. Now the game prevents the
browser from performing these default actions when the game is
in focus.

Also, I removed an unused optional parameter from putText,
because Internet Explorer was complaining about it. The game
still doesn't work with IE though, because SVGs are not displayed.

modified:   shapeshift.js

shapeshift.js

index ed05a37..e59f65c 100644 (file)
             [ { actor: 'guard',  text: "(By the way, this is the end of the game.\nYou really can't do anything more.\nThanks for playing!)" } ];
 
 
+        window.addEventListener("keydown", function(e) {
+            // Prevent default browser action for arrows and spacebar
+            if([32, 37, 38, 39, 40].indexOf(e.keyCode) > -1) {
+            e.preventDefault();
+            }
+        }, false);
+
         function sign(n) {
             if (n >= 0) { return 1 } else { return -1 };
         }
 
         }
 
-        function putText(entity, text, color = '#000000') {
-            var textObject = game.add.text(entity.x, entity.y - (entity.height / 2) - 30, text, { align: 'center', fill: color, fontSize: 14 });
+        function putText(entity, text) {
+            var textObject = game.add.text(entity.x, entity.y - (entity.height / 2) - 30, text, { align: 'center', fontSize: 14 });
             textObject.font = 'Ubuntu Mono';
             textObject.anchor.setTo(.5,.5);
             return textObject;