Files
chocomae/src/game/lib/button/game_app_button.js
T

87 lines
1.8 KiB
JavaScript

class GameAppButton extends RoundRectButton {
constructor(x, y, type, iconName, buttonText, clickEvent) {
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;
switch(type) {
case GameAppButton.TYPE_MOUSE_APP:
setting.setStrokeColor(
0xaa6666,
0x884444,
0x884444,
0x333333
);
setting.setButtonColor(
0xffdddd,
0xddaaaa,
0xddaaaa,
0x666666
);
setting.setTextColor(
"#a66",
"#844",
"#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;
}
setting.fontStyle = {
font: "24px Arial",
boundsAlignH: "center", // left, center. right
boundsAlignV: "middle", // top, middle, bottom
fill: "#fff"
};
let textCount = buttonText.length;
if(textCount > 7)
setting.fontStyle.font = "18px Arial";
else if(textCount > 5)
setting.fontStyle.font = "22px Arial";
else
setting.fontStyle.font = "24px Arial";
super(setting, iconName, buttonText, clickEvent);
}
}
GameAppButton.TYPE_MOUSE_APP = 0;
GameAppButton.TYPE_TYPING_PRACTICE = 1;
GameAppButton.TYPE_TYPING_APP = 2;
GameAppButton.BUTTON_WIDTH = 120;
GameAppButton.BUTTON_HEIGHT = 120;
GameAppButton.BUTTON_GAP = 20;
GameAppButton.MARGIN_VERTICAL = 100;
GameAppButton.BUTTON_UPPER_POS_Y = 200;
GameAppButton.BUTTON_LOWER_POS_Y = 460;