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 @@
+