diff --git a/resources/image/icon/home.afdesign b/resources/image/icon/home.afdesign new file mode 100644 index 0000000..05d83a4 Binary files /dev/null and b/resources/image/icon/home.afdesign differ diff --git a/resources/image/icon/home.png b/resources/image/icon/home.png new file mode 100644 index 0000000..0c3745a Binary files /dev/null and b/resources/image/icon/home.png differ diff --git a/src/game/lib/button/home_button.js b/src/game/lib/button/home_button.js new file mode 100644 index 0000000..4d04563 --- /dev/null +++ b/src/game/lib/button/home_button.js @@ -0,0 +1,41 @@ +HomeButton.prototype = Object.create(RoundRectButton); +HomeButton.constructor = HomeButton; + +function HomeButton(clickEvent) { + let setting = new RoundRectButtonSetting(30, 30, 50, 50); + setting.fontStyle.boundsAlignH = "center"; // left, center. right + setting.fontStyle.boundsAlignV = "middle"; // top, middle, bottom + setting.strokeWidthPx = 3; + setting.setStrokeColor( + 0xaa6022, + 0x994422, + 0x994422, + 0x333333 + ); + setting.setButtonColor( + 0x994c00, + 0x772c00, + 0x772c00, + 0x666666 + ); + setting.setTextColor( + "#fec", + "#dca", + "#dca", + "#333" + ); + + var homeButton = new RoundRectButton(setting, RoundRectButton.NONE_ICON, "", clickEvent); + var icon_fullscreen = game.add.sprite(0, 0, "icon_home"); + icon_fullscreen.width = 26; + icon_fullscreen.height = 26; + homeButton.setIcon(icon_fullscreen); + homeButton.buttonIcon.y -= 5; + + homeButton.addShortcutText("ESC"); +} + +HomeButton.prototype.startState = function(stateName) { + var game = this.homeButton.parent.game; + game.state.start(stateName); +} \ No newline at end of file diff --git a/src/game/lib/screen_top_ui.js b/src/game/lib/screen_top_ui.js index 3ad7e5c..02d3177 100644 --- a/src/game/lib/screen_top_ui.js +++ b/src/game/lib/screen_top_ui.js @@ -15,6 +15,10 @@ ScreenTopUI.prototype.makeBackButton = function(eventHandler) { this.backButton = new BackButton(eventHandler); } +ScreenTopUI.prototype.makeHomeButton = function(eventHandler) { + this.homeButton = new HomeButton(eventHandler); +} + ScreenTopUI.prototype.makeFullScreenButton = function() { // this.fullscreenButton = new FullscreenButton(); } diff --git a/src/game/login/login.js b/src/game/login/login.js index de479cf..dcdfa7e 100644 --- a/src/game/login/login.js +++ b/src/game/login/login.js @@ -2,6 +2,7 @@ var Login = { preload: function() { game.load.image('icon_fullscreen', '../../../resources/image/icon/fullscreen_white.png'); + game.load.image('icon_home', '../../../resources/image/icon/home.png'); }, create: function() { @@ -10,12 +11,18 @@ var Login = { this.game.stage.backgroundColor = '#4d4d4d'; this.textStyle = { font: "bold 32px Arial", fill: "#fff", align: "right", boundsAlignH: "right", boundsAlignV: "middle" }; + // keyboard shortcut + this.keyboardShortcut = new KeyboardShortcut(); + this.keyboardShortcut.addCallback( + Phaser.KeyCode.ESC, // keyCode + null, // keyDownHandler + (function() { this.back(); }).bind(this), // keyUpHandler + "login" // callerClassName + ); + // top ui var screenTopUI = new ScreenTopUI(); - screenTopUI.makeBackButton( function() { - sessionStorageManager.clear(); - location.href = '../../web/main/index.html'; - }); + screenTopUI.makeHomeButton( (function() { this.back(); }).bind(this) ); screenTopUI.makeFullScreenButton(); @@ -36,6 +43,11 @@ var Login = { this.makeInfoText(); }, + back: function() { + sessionStorageManager.clear(); + location.href = '../../web/main/index.html'; + }, + makeMaestroNameText: function(x, y) { this.makeTextField(x, y, "마에스트로 계정 :"); this.inputTextMaestroName = this.makeInputTypeText(x, y, "jisangs"); diff --git a/src/web/client/login.html b/src/web/client/login.html index 0c4e31b..8128a6a 100644 --- a/src/web/client/login.html +++ b/src/web/client/login.html @@ -17,6 +17,7 @@ +