Add: keyboard_shortcut to menu_typing_practice

This commit is contained in:
2018-10-12 11:11:11 +09:00
parent 5678e23df1
commit 18150fc332
3 changed files with 72 additions and 3 deletions
+58
View File
@@ -0,0 +1,58 @@
function KeyboardShortcut() {
console.log("KeyboardShortcut");
this.keyHandlerMapper = {};
console.log(this.keyHandlerMapper[Phaser.KeyCode.ESC]);
game.input.keyboard.addCallbacks(this, this.keyDown, this.keyUp, null);
};
KeyboardShortcut.prototype.addCallback = function(keyCode, keyDownHandler, keyUpHandler, callerClassName) {
if(this.keyHandlerMapper[keyCode] != undefined) {
this.keyHandlerMapper[keyCode] = null;
}
this.keyHandlerMapper[keyCode] = {
"keyDownHandler": keyDownHandler,
"keyUpHandler": keyUpHandler,
"callerClassName": callerClassName
}
// console.log(this.keyHandlerMapper);
}
KeyboardShortcut.prototype.keyDown = function(char) {
// var keyCode = char.code;
var keyCode = char.keyCode;
// console.log(keyCode + " is pressed");
if(this.keyHandlerMapper[keyCode] == undefined)
return;
var keyMapper = this.keyHandlerMapper[keyCode];
var keyDownHandler = keyMapper["keyDownHandler"];
if(keyDownHandler == undefined)
return;
if(isDebugMode())
console.log(keyCode + " key is down (" + keyMapper["callerClassName"] + ")");
keyDownHandler();
}
KeyboardShortcut.prototype.keyUp = function(char) {
// var keyCode = char.code;
var keyCode = char.keyCode;
// console.log(keyCode + " is up");
if(this.keyHandlerMapper[keyCode] == undefined)
return;
var keyMapper = this.keyHandlerMapper[keyCode];
var keyUpHandler = keyMapper["keyUpHandler"];
if(keyUpHandler == undefined)
return;
if(isDebugMode())
console.log(keyCode + " key is up (" + keyMapper["callerClassName"] + ")");
keyUpHandler();
}