Fix: button classes revised

This commit is contained in:
2018-08-30 15:45:01 +09:00
parent 22da6a1f49
commit bc24bea9d1
27 changed files with 459 additions and 272 deletions
+9 -9
View File
@@ -155,15 +155,15 @@ Animal.ANIMATION_TYPE_DAMAGE = 1;
Animal.SPECIES_DATA = [
{ "species" : "snail", "runningFPS" : 1.1, "practiceTypingCount" : 0, "testTypingCount" : 0 },
{ "species" : "turtle", "runningFPS" : 5.5, "practiceTypingCount" : 5, "testTypingCount" : 20 },
{ "species" : "cat", "runningFPS" : 10.1, "practiceTypingCount" : 10, "testTypingCount" : 50 },
{ "species" : "lion", "runningFPS" : 15.5, "practiceTypingCount" : 15, "testTypingCount" : 100 },
{ "species" : "rabbit", "runningFPS" : 20.2, "practiceTypingCount" : 20, "testTypingCount" : 200 },
{ "species" : "ostrich", "runningFPS" : 25.5, "practiceTypingCount" : 30, "testTypingCount" : 300 },
{ "species" : "horse", "runningFPS" : 30.3, "practiceTypingCount" : 40, "testTypingCount" : 400 },
{ "species" : "dog", "runningFPS" : 35.5, "practiceTypingCount" : 50, "testTypingCount" : 500 },
{ "species" : "cheetah", "runningFPS" : 40.4, "practiceTypingCount" : 60, "testTypingCount" : 600 },
{ "species" : "eagle", "runningFPS" : 45.5, "practiceTypingCount" : 80, "testTypingCount" : 700 }
{ "species" : "turtle", "runningFPS" : 2.2, "practiceTypingCount" : 5, "testTypingCount" : 20 },
{ "species" : "cat", "runningFPS" : 4.4, "practiceTypingCount" : 10, "testTypingCount" : 50 },
{ "species" : "lion", "runningFPS" : 6.9, "practiceTypingCount" : 15, "testTypingCount" : 100 },
{ "species" : "rabbit", "runningFPS" : 9.3, "practiceTypingCount" : 20, "testTypingCount" : 200 },
{ "species" : "ostrich", "runningFPS" : 12.8, "practiceTypingCount" : 30, "testTypingCount" : 300 },
{ "species" : "horse", "runningFPS" : 16.2, "practiceTypingCount" : 40, "testTypingCount" : 400 },
{ "species" : "dog", "runningFPS" : 20.1, "practiceTypingCount" : 50, "testTypingCount" : 500 },
{ "species" : "cheetah", "runningFPS" : 25.4, "practiceTypingCount" : 60, "testTypingCount" : 600 },
{ "species" : "eagle", "runningFPS" : 30.5, "practiceTypingCount" : 80, "testTypingCount" : 700 }
];
Animal.SPRITE_NAMES = {
-13
View File
@@ -1,13 +0,0 @@
class AppButton {
constructor(setting, iconName, buttonText, clickEvent) {
this.button = new RoundRectButton(setting, iconName, buttonText, clickEvent);
}
}
AppButton.TYPE_MOUSE_APP = 0;
AppButton.TYPE_TYPING_PRACTICE = 1;
AppButton.TYPE_TYPING_APP = 2;
AppButton.NONE_ICON = "";
AppButton.NONE_BUTTON_TEXT = "";
@@ -1,4 +1,4 @@
class BackButton {
class BackButton extends RoundRectButton {
constructor(clickEvent) {
let setting = new RoundRectButtonSetting(30, 30, 50, 50);
@@ -24,10 +24,7 @@ class BackButton {
"#333"
);
let button = new RoundRectButton(
setting,
RoundRectButton.NONE_ICON, "<", clickEvent
);
super(setting, RoundRectButton.NONE_ICON, "<", clickEvent);
}
}
@@ -1,11 +1,9 @@
class FullscreenButton {
class FullscreenButton extends RoundRectButton {
constructor(game) {
this.game = game;
constructor() {
game.scale.fullScreenScaleMode = Phaser.ScaleManager.EXACT_FIT;
this.game.scale.fullScreenScaleMode = Phaser.ScaleManager.EXACT_FIT;
let setting = new RoundRectButtonSetting(this.game.world.width - 30, 30, 50, 50);
let setting = new RoundRectButtonSetting(game.world.width - 30, 30, 50, 50);
setting.fontStyle.boundsAlignH = "center"; // left, center. right
setting.fontStyle.boundsAlignV = "middle"; // top, middle, bottom
setting.strokeWidthPx = 3;
@@ -28,23 +26,22 @@ class FullscreenButton {
"#333"
);
let button = new RoundRectButton(
setting, RoundRectButton.NONE_ICON, RoundRectButton.NONE_BUTTON_TEXT,
() => this.clickEvent()
super(
setting,
RoundRectButton.NONE_ICON, RoundRectButton.NONE_BUTTON_TEXT,
() => {
if(game.scale.isFullScreen) {
game.scale.stopFullScreen();
} else {
game.scale.startFullScreen();
}
}
);
let icon_fullscreen = game.add.sprite(0, 0, 'icon_fullscreen');
icon_fullscreen.width = 20;
icon_fullscreen.height = 20;
button.setIcon(icon_fullscreen);
}
clickEvent() {
if(this.game.scale.isFullScreen) {
this.game.scale.stopFullScreen();
} else {
this.game.scale.startFullScreen();
}
this.setIcon(icon_fullscreen);
}
}
@@ -1,32 +1,17 @@
class GameAppButton extends AppButton {
class GameAppButton extends RoundRectButton {
constructor(x, y, type, iconName, buttonText, clickEvent) {
let setting = new RoundRectButtonSetting(x, y, GameAppButton.BUTTON_WIDTH, GameAppButton.BUTTON_HEIGHT);
console.log(type);
let setting = new RoundRectButtonSetting(
x, y,
GameAppButton.BUTTON_WIDTH, GameAppButton.BUTTON_HEIGHT
);
setting.fontStyle.boundsAlignH = "center"; // left, center. right
setting.fontStyle.boundsAlignV = "middle"; // top, middle, bottom
setting.strokeWidthPx = 5;
if(type === AppButton.TYPE_MOUSE_APP) {
} if(type === AppButton.TYPE_TYPING_PRACTICE) {
setting.setStrokeColor(
0x444488,
0x6666aa,
0x6666aa,
0x333333
);
setting.setButtonColor(
0xaaaadd,
0xddddff,
0xddddff,
0x666666
);
setting.setTextColor(
"#844",
"#a66",
"#a66",
"#333"
);
} else { // TYPE_TYPING_APP
switch(type) {
case GameAppButton.TYPE_MOUSE_APP:
setting.setStrokeColor(
0xaa6666,
0x884444,
@@ -45,6 +30,28 @@ class GameAppButton extends AppButton {
"#844",
"#333"
);
break;
case GameAppButton.TYPE_TYPING_PRACTICE:
case GameAppButton.TYPE_TYPING_APP:
setting.setStrokeColor(
0x444488,
0x6666aa,
0x6666aa,
0x333333
);
setting.setButtonColor(
0xaaaadd,
0xddddff,
0xddddff,
0x666666
);
setting.setTextColor(
"#844",
"#a66",
"#a66",
"#333"
);
break;
}
super(setting, iconName, buttonText, clickEvent);
@@ -52,6 +59,10 @@ class GameAppButton extends AppButton {
}
GameAppButton.TYPE_MOUSE_APP = 0;
GameAppButton.TYPE_TYPING_PRACTICE = 1;
GameAppButton.TYPE_TYPING_APP = 2;
GameAppButton.BUTTON_WIDTH = 150;
GameAppButton.BUTTON_HEIGHT = 150;
@@ -59,4 +70,4 @@ GameAppButton.BUTTON_GAP = 20;
GameAppButton.MARGIN_VERTICAL = 100;
GameAppButton.BUTTON_UPPER_POS_Y = 200;
GameAppButton.BUTTON_LOWER_POS_Y = 540;
GameAppButton.BUTTON_LOWER_POS_Y = 460;
@@ -0,0 +1,48 @@
class TypingPracticeButton extends RoundRectButton {
constructor(x, y, iconName, buttonText, clickEvent) {
let setting = new RoundRectButtonSetting(x, y, TypingPracticeButton.BUTTON_WIDTH, TypingPracticeButton.BUTTON_HEIGHT);
setting.fontStyle.boundsAlignH = "center"; // left, center. right
setting.fontStyle.boundsAlignV = "middle"; // top, middle, bottom
setting.strokeWidthPx = 5;
setting.setStrokeColor(
0x444488,
0x6666aa,
0x6666aa,
0x333333
);
setting.setButtonColor(
0xaaaadd,
0xddddff,
0xddddff,
0x666666
);
setting.setTextColor(
"#844",
"#a66",
"#a66",
"#333"
);
super(setting, iconName, buttonText, clickEvent);
if(iconName.length > 0) {
let icon_fullscreen = game.add.sprite(0, 0, iconName);
icon_fullscreen.width = 80;
icon_fullscreen.height = 80;
this.button.setIcon(icon_fullscreen);
}
}
}
TypingPracticeButton.BUTTON_WIDTH = 200;
TypingPracticeButton.BUTTON_HEIGHT = 100;
TypingPracticeButton.BUTTON_GAP = 10;
TypingPracticeButton.MARGIN_VERTICAL = 100;
TypingPracticeButton.BUTTON_UPPER_POS_Y = 200;
TypingPracticeButton.BUTTON_LOWER_POS_Y = 480;
+53
View File
@@ -0,0 +1,53 @@
class TypingTabButton extends RoundRectButton {
constructor(x, y, iconName, buttonText, clickEvent) {
let setting = new RoundRectButtonSetting(
x, y,
TypingTabButton.BUTTON_WIDTH, TypingTabButton.BUTTON_HEIGHT
);
setting.fontStyle.boundsAlignH = "center"; // left, center. right
setting.fontStyle.boundsAlignV = "middle"; // top, middle, bottom
setting.strokeWidthPx = 5;
setting.setStrokeColor(
0x444488,
0x6666aa,
0x6666aa,
0x333333
);
setting.setButtonColor(
0xaaaadd,
0xddddff,
0xddddff,
0x666666
);
setting.setTextColor(
"#844",
"#a66",
"#a66",
"#333"
);
super(setting, iconName, buttonText, clickEvent);
if(iconName.length > 0) {
let icon_fullscreen = game.add.sprite(0, 0, iconName);
icon_fullscreen.width = 80;
icon_fullscreen.height = 80;
this.button.setIcon(icon_fullscreen);
}
}
}
TypingTabButton.BUTTON_WIDTH = 500;
TypingTabButton.BUTTON_HEIGHT = 80;
TypingTabButton.BUTTON_GAP = 20;
TypingTabButton.MARGIN_VERTICAL = 100;
TypingTabButton.PRACTICE_BUTTON_POS_X = GAME_SCREEN_SIZE.x / 4;
TypingTabButton.TEST_BUTTON_POS_X = GAME_SCREEN_SIZE.x / 4 * 3;
TypingTabButton.BUTTON_POS_Y = GAME_SCREEN_SIZE.y - (TypingTabButton.BUTTON_HEIGHT / 3 * 4);
-68
View File
@@ -1,68 +0,0 @@
class TypingPracticeButton extends AppButton {
constructor(x, y, type, iconName, buttonText, clickEvent) {
let setting = new RoundRectButtonSetting(x, y, TypingPracticeButton.BUTTON_WIDTH, TypingPracticeButton.BUTTON_HEIGHT);
setting.fontStyle.boundsAlignH = "center"; // left, center. right
setting.fontStyle.boundsAlignV = "middle"; // top, middle, bottom
setting.strokeWidthPx = 5;
if(type === LANGUAGE_KOREAN) {
setting.setStrokeColor(
0xaa6666,
0x884444,
0x884444,
0x333333
);
setting.setButtonColor(
0xffdddd,
0xddaaaa,
0xddaaaa,
0x666666
);
setting.setTextColor(
"#a66",
"#844",
"#844",
"#333"
);
} else { // LANGUAGE_ENGLISH
setting.setStrokeColor(
0x444488,
0x6666aa,
0x6666aa,
0x333333
);
setting.setButtonColor(
0xaaaadd,
0xddddff,
0xddddff,
0x666666
);
setting.setTextColor(
"#844",
"#a66",
"#a66",
"#333"
);
}
super(setting, iconName, buttonText, clickEvent);
if(iconName.length > 0) {
let icon_fullscreen = game.add.sprite(0, 0, iconName);
icon_fullscreen.width = 80;
icon_fullscreen.height = 80;
this.button.setIcon(icon_fullscreen);
}
}
}
TypingPracticeButton.BUTTON_WIDTH = 200;
TypingPracticeButton.BUTTON_HEIGHT = 100;
TypingPracticeButton.BUTTON_GAP = 20;
TypingPracticeButton.MARGIN_VERTICAL = 100;
TypingPracticeButton.BUTTON_UPPER_POS_Y = 200;
TypingPracticeButton.BUTTON_LOWER_POS_Y = 540;