Fix: ChocoButton stroke round

This commit is contained in:
2019-07-25 09:58:37 +09:00
parent 5a44ab93da
commit 1df8fba0a5
7 changed files with 120 additions and 31 deletions
+15 -10
View File
@@ -48,21 +48,25 @@ ChocoButton.prototype.makeButtonStrokeSprite = function() { // outter(bigger) ro
}
ChocoButton.prototype.makeButtonSprite = function() { // inner(smaller) round rect sprite
var width = this.setting.width - this.setting.strokeWidthPx * 2;
var height = this.setting.height - this.setting.strokeWidthPx * 2;
var innerRoundAmount = this.setting.roundAmount * (width / this.setting.width / 1.5);
var setting = this.setting;
// console.log("strokeWidthPx : " + setting.strokeWidthPx);
// console.log("round : " + setting.roundAmount);
var btnWidth = setting.width - setting.strokeWidthPx * 2;
var btnHeight = setting.height - setting.strokeWidthPx * 2;
var longSideStroke = (setting.width > setting.height ? setting.width : setting.height);
var longSideButton = (btnWidth > btnHeight ? btnWidth : btnHeight);
var btnRoundAmount = setting.roundAmount * longSideButton / longSideStroke;
var texture = new Phaser.Graphics()
.beginFill(0xffffff)
.drawRoundedRect(this.setting.strokeWidthPx, this.setting.strokeWidthPx, width, height, innerRoundAmount)
.drawRoundedRect(0, 0, btnWidth, btnHeight, btnRoundAmount)
.endFill()
.generateTexture();
var buttonSprite = game.add.sprite(
this.setting.x - this.setting.width / 2 + this.setting.strokeWidthPx,
this.setting.y - this.setting.height / 2 + this.setting.strokeWidthPx,
texture
);
var posX = setting.x - btnWidth / 2;
var posY = setting.y - btnHeight / 2;
var buttonSprite = game.add.sprite(posX, posY, texture);
// buttonSprite.anchor.setTo(0.5, 0.5);
buttonSprite.inputEnabled = true;
@@ -120,6 +124,7 @@ ChocoButton.prototype.setIcon = function(icon) {
ChocoButton.prototype.makeShortcutText = function() {
var shortcutText = game.add.text(this.buttonSprite.width / 2, this.buttonSprite.height * 9 / 10, "");
shortcutText.anchor.set(0.5);
shortcutText.fontWeight = "normal";
shortcutText.fontSize = this.buttonSprite.height * 2 / 10;
// shortcutText.addColor(this.setting.textColors.over, 0);
@@ -129,7 +134,7 @@ ChocoButton.prototype.makeShortcutText = function() {
}
ChocoButton.prototype.setShortcutText = function(text) {
this.shortcutText.text = "[ " + text + " ]";
this.shortcutText.text = text;
}