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();
}
+13 -3
View File
@@ -39,11 +39,17 @@ var MenuTypingPractice = {
// ); // );
this.keyboardShortcut = new KeyboardShortcut();
this.keyboardShortcut.addCallback(
Phaser.KeyCode.ESC, // keyCode
null, // keyDownHandler
(function() { this.back(); }).bind(this), // keyUpHandler
"menu_typing_practice" // callerClassName
);
// top ui // top ui
var screenTopUI = new ScreenTopUI(); var screenTopUI = new ScreenTopUI();
screenTopUI.makeBackButton( function() { screenTopUI.makeBackButton( (function() { this.back(); }).bind(this) );
location.href = '../../web/client/menu_app.html';
});
screenTopUI.makeFullScreenButton(); screenTopUI.makeFullScreenButton();
@@ -76,6 +82,10 @@ var MenuTypingPractice = {
this.makeActiveTypingPracticeAppButtons(); this.makeActiveTypingPracticeAppButtons();
}, },
back: function() {
location.href = '../../web/client/menu_app.html';
},
makeActiveTypingPracticeAppButtons: function() { makeActiveTypingPracticeAppButtons: function() {
var dbConnectManager = new DBConnectManager(); var dbConnectManager = new DBConnectManager();
+1
View File
@@ -14,6 +14,7 @@
<script src="../../game/global/global_variables.js"></script> <script src="../../game/global/global_variables.js"></script>
<!-- library source files --> <!-- library source files -->
<script src="../../game/lib/keyboard_shortcut.js"></script>
<script src="../../game/lib/input_type_text.js"></script> <script src="../../game/lib/input_type_text.js"></script>
<script src="../../game/lib/button/round_rect_button.js"></script> <script src="../../game/lib/button/round_rect_button.js"></script>
<script src="../../game/lib/button/back_button.js"></script> <script src="../../game/lib/button/back_button.js"></script>