@famibee/skynovel 1.64.20 → 1.64.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Button.js +59 -57
- package/dist/Button.js.map +1 -1
- package/dist/EventMng.js +217 -215
- package/dist/EventMng.js.map +1 -1
- package/dist/GrpLayer.js +9 -10
- package/dist/GrpLayer.js.map +1 -1
- package/dist/LayerMng.js.map +1 -1
- package/dist/SpritesMng.js +50 -46
- package/dist/SpritesMng.js.map +1 -1
- package/dist/TxtLayer.js +404 -388
- package/dist/TxtLayer.js.map +1 -1
- package/dist/sn/Button.d.ts.map +1 -1
- package/dist/sn/FocusMng.d.ts +2 -2
- package/dist/sn/FocusMng.d.ts.map +1 -1
- package/dist/sn/FrameMng.d.ts.map +1 -1
- package/dist/sn/GrpLayer.d.ts.map +1 -1
- package/dist/sn/SpritesMng.d.ts.map +1 -1
- package/dist/sn/SysBase.d.ts.map +1 -1
- package/dist/sn/TxtLayer.d.ts.map +1 -1
- package/dist/sn/TxtStage.d.ts.map +1 -1
- package/dist/web2.js.map +1 -1
- package/dist_app/Button.js +59 -57
- package/dist_app/Button.js.map +1 -1
- package/dist_app/EventMng.js +217 -215
- package/dist_app/EventMng.js.map +1 -1
- package/dist_app/GrpLayer.js +9 -10
- package/dist_app/GrpLayer.js.map +1 -1
- package/dist_app/LayerMng.js.map +1 -1
- package/dist_app/SpritesMng.js +46 -42
- package/dist_app/SpritesMng.js.map +1 -1
- package/dist_app/TxtLayer.js +404 -388
- package/dist_app/TxtLayer.js.map +1 -1
- package/dist_app/app2.js.map +1 -1
- package/dist_app/sn/Button.d.ts.map +1 -1
- package/dist_app/sn/FocusMng.d.ts +2 -2
- package/dist_app/sn/FocusMng.d.ts.map +1 -1
- package/dist_app/sn/FrameMng.d.ts.map +1 -1
- package/dist_app/sn/GrpLayer.d.ts.map +1 -1
- package/dist_app/sn/SpritesMng.d.ts.map +1 -1
- package/dist_app/sn/SysBase.d.ts.map +1 -1
- package/dist_app/sn/TxtLayer.d.ts.map +1 -1
- package/dist_app/sn/TxtStage.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/Button.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { q as
|
|
1
|
+
import { q as S, l as n, u as f, e as v, O as k, K as m, P as C, z as b, G as g, M as p, y as u } from "./web2.js";
|
|
2
2
|
import { S as _ } from "./SpritesMng.js";
|
|
3
|
-
class
|
|
4
|
-
constructor(t,
|
|
5
|
-
if (super(), this.hArg = t, this.evtMng =
|
|
3
|
+
class r extends S {
|
|
4
|
+
constructor(t, i, h, a) {
|
|
5
|
+
if (super(), this.hArg = t, this.evtMng = i, this.resolve = h, this.canFocus = a, this.#t = {
|
|
6
6
|
type: "pic",
|
|
7
7
|
enabled: v(t, "enabled", !0),
|
|
8
8
|
x: this.x = f(t.left ?? 0),
|
|
@@ -19,19 +19,19 @@ class c extends b {
|
|
|
19
19
|
b_pic: "",
|
|
20
20
|
width: 0,
|
|
21
21
|
height: 0
|
|
22
|
-
}, this.getBtnBounds = () => (this.#
|
|
23
|
-
this.#t.type = "pic", this.#
|
|
22
|
+
}, this.getBtnBounds = () => (this.#e.x = this.#t.x, this.#e.y = this.#t.y, this.#e), this.#t.enabled && i.button(t, this, () => this.normal(), () => this.#s(), () => this.#h()), t.pic) {
|
|
23
|
+
this.#t.type = "pic", this.#i = new _(
|
|
24
24
|
t.pic,
|
|
25
25
|
this,
|
|
26
|
-
(
|
|
27
|
-
this.#l(
|
|
26
|
+
(e) => {
|
|
27
|
+
this.#l(e), this.#e.width = e.width * this.#t.scale_x, this.#e.height = e.height * this.#t.scale_y;
|
|
28
28
|
},
|
|
29
|
-
(
|
|
29
|
+
(e) => h()
|
|
30
30
|
);
|
|
31
31
|
return;
|
|
32
32
|
}
|
|
33
33
|
if (!t.text) throw "textまたはpic属性は必須です";
|
|
34
|
-
const o = n(t, "height", 30),
|
|
34
|
+
const o = n(t, "height", 30), c = new k({
|
|
35
35
|
align: "center",
|
|
36
36
|
dropShadow: !0,
|
|
37
37
|
dropShadowAlpha: 0.7,
|
|
@@ -39,20 +39,20 @@ class c extends b {
|
|
|
39
39
|
dropShadowBlur: 7,
|
|
40
40
|
dropShadowDistance: 0,
|
|
41
41
|
fill: this.#t.enabled ? "black" : "gray",
|
|
42
|
-
fontFamily:
|
|
42
|
+
fontFamily: r.fontFamily,
|
|
43
43
|
fontSize: o,
|
|
44
44
|
padding: 5
|
|
45
45
|
});
|
|
46
46
|
if (t.style) try {
|
|
47
|
-
const
|
|
48
|
-
for (const [w, y] of Object.entries(
|
|
49
|
-
this.#t = { ...this.#t, ...
|
|
50
|
-
} catch (
|
|
51
|
-
throw
|
|
47
|
+
const e = JSON.parse(t.style);
|
|
48
|
+
for (const [w, y] of Object.entries(e)) c[w] = y;
|
|
49
|
+
this.#t = { ...this.#t, ...e };
|
|
50
|
+
} catch (e) {
|
|
51
|
+
throw e instanceof SyntaxError ? new Error(m(t, "style", e.message)) : "fn:Button.ts style";
|
|
52
52
|
}
|
|
53
|
-
const s = new C(t.text ?? "",
|
|
54
|
-
s.alpha = n(t, "alpha", s.alpha), s.width = n(t, "width", 100), s.height = t.height = o, this.setText = (
|
|
55
|
-
s.text =
|
|
53
|
+
const s = new C(t.text ?? "", c);
|
|
54
|
+
s.alpha = n(t, "alpha", s.alpha), s.width = n(t, "width", 100), s.height = t.height = o, this.setText = (e) => {
|
|
55
|
+
s.text = e;
|
|
56
56
|
}, this.#t = {
|
|
57
57
|
...this.#t,
|
|
58
58
|
type: "text",
|
|
@@ -63,63 +63,65 @@ class c extends b {
|
|
|
63
63
|
height: s.height
|
|
64
64
|
};
|
|
65
65
|
let d = !1;
|
|
66
|
-
if (this.#t.width = this.width, this.#t.height = this.height, t.b_pic && (this.#t.b_pic = t.b_pic, this.#
|
|
66
|
+
if (this.#t.width = this.width, this.#t.height = this.height, t.b_pic && (this.#t.b_pic = t.b_pic, this.#i = new _(
|
|
67
67
|
t.b_pic,
|
|
68
68
|
this,
|
|
69
|
-
(
|
|
70
|
-
this.#o(
|
|
69
|
+
(e) => {
|
|
70
|
+
this.#o(e, s), this.#t.width = this.width, this.#t.height = this.height;
|
|
71
71
|
},
|
|
72
|
-
(
|
|
73
|
-
|
|
72
|
+
(e) => {
|
|
73
|
+
b.setBlendmode(this, t), e && h();
|
|
74
74
|
}
|
|
75
|
-
), d = this.#
|
|
75
|
+
), d = this.#i.ret), this.addChild(s), this.#e.width = s.width, this.#e.height = s.height, t.b_pic || b.setBlendmode(this, t), r.#a(this, s), !this.#t.enabled) {
|
|
76
76
|
d || h();
|
|
77
77
|
return;
|
|
78
78
|
}
|
|
79
|
-
const l =
|
|
79
|
+
const l = c.clone();
|
|
80
80
|
if (t.style_hover) try {
|
|
81
|
-
const
|
|
82
|
-
for (const [w, y] of Object.entries(
|
|
83
|
-
} catch (
|
|
84
|
-
throw
|
|
81
|
+
const e = JSON.parse(t.style_hover);
|
|
82
|
+
for (const [w, y] of Object.entries(e)) l[w] = y;
|
|
83
|
+
} catch (e) {
|
|
84
|
+
throw e instanceof SyntaxError ? new Error(m(t, "style_hover", e.message)) : "fn:Button.ts style_hover";
|
|
85
85
|
}
|
|
86
86
|
else l.fill = "white";
|
|
87
87
|
const x = l.clone();
|
|
88
88
|
if (t.style_clicked) try {
|
|
89
|
-
const
|
|
90
|
-
for (const [w, y] of Object.entries(
|
|
91
|
-
} catch (
|
|
92
|
-
throw
|
|
89
|
+
const e = JSON.parse(t.style_clicked);
|
|
90
|
+
for (const [w, y] of Object.entries(e)) x[w] = y;
|
|
91
|
+
} catch (e) {
|
|
92
|
+
throw e instanceof SyntaxError ? new Error(m(t, "style_clicked", e.message)) : "fn:Button.ts style_clicked";
|
|
93
93
|
}
|
|
94
94
|
else x.dropShadow = !1;
|
|
95
95
|
this.normal = () => {
|
|
96
|
-
s.style =
|
|
96
|
+
s.style = c;
|
|
97
97
|
}, this.#s = () => a() ? (s.style = l, !0) : !1, this.#h = () => {
|
|
98
98
|
s.style = x;
|
|
99
99
|
}, d || h();
|
|
100
100
|
}
|
|
101
101
|
static fontFamily = "'Hiragino Sans', 'Hiragino Kaku Gothic ProN', '游ゴシック Medium', meiryo, sans-serif";
|
|
102
|
-
static #a = (t,
|
|
102
|
+
static #a = (t, i) => {
|
|
103
103
|
};
|
|
104
|
-
static #n = (t,
|
|
104
|
+
static #n = (t, i, h, a) => {
|
|
105
105
|
};
|
|
106
106
|
static init(t) {
|
|
107
|
-
t.oCfg.debug.masume && (
|
|
108
|
-
new
|
|
109
|
-
),
|
|
110
|
-
new
|
|
107
|
+
t.oCfg.debug.masume && (r.#a = (i, h) => i.addChild(
|
|
108
|
+
new g().beginFill(8926088, 0.2).lineStyle(1, 8926088, 1).drawRect(h.x, h.y, h.width, h.height).endFill()
|
|
109
|
+
), r.#n = (i, h, a, o) => i.addChild(
|
|
110
|
+
new g().beginFill(8926088, 0.2).lineStyle(1, 8926088, 1).drawRect(h.x, h.y, a, o).endFill()
|
|
111
111
|
));
|
|
112
112
|
}
|
|
113
113
|
setText(t) {
|
|
114
114
|
}
|
|
115
|
-
getBtnBounds = () => this.#
|
|
115
|
+
getBtnBounds = () => this.#e;
|
|
116
116
|
// 文字ボタンは背景画像を含まない位置指定なので、その当たり判定用
|
|
117
|
-
#
|
|
118
|
-
#
|
|
117
|
+
#e = new p();
|
|
118
|
+
#i = new _();
|
|
119
119
|
// #idc : DesignCast;
|
|
120
120
|
#t;
|
|
121
121
|
destroy() {
|
|
122
|
-
this.
|
|
122
|
+
this.normal = () => {
|
|
123
|
+
}, this.#s = () => !1, this.#h = () => {
|
|
124
|
+
}, this.evtMng.unButton(this), this.#i.destroy(), super.destroy();
|
|
123
125
|
}
|
|
124
126
|
makeDesignCast(t) {
|
|
125
127
|
}
|
|
@@ -128,18 +130,18 @@ class c extends b {
|
|
|
128
130
|
// showDesignCast() {this.#idc.visible = true}
|
|
129
131
|
cvsResize() {
|
|
130
132
|
}
|
|
131
|
-
#o(t,
|
|
132
|
-
this.setChildIndex(t, 0), t.alpha =
|
|
133
|
-
|
|
134
|
-
|
|
133
|
+
#o(t, i) {
|
|
134
|
+
this.setChildIndex(t, 0), t.alpha = i.alpha, t.setTransform(
|
|
135
|
+
i.x,
|
|
136
|
+
i.y,
|
|
135
137
|
1,
|
|
136
138
|
1,
|
|
137
|
-
|
|
139
|
+
i.rotation,
|
|
138
140
|
0,
|
|
139
141
|
0,
|
|
140
|
-
(t.width -
|
|
141
|
-
(t.height -
|
|
142
|
-
), t.name =
|
|
142
|
+
(t.width - i.width) / 2,
|
|
143
|
+
(t.height - i.height) / 2
|
|
144
|
+
), t.name = i.name;
|
|
143
145
|
}
|
|
144
146
|
normal = () => {
|
|
145
147
|
};
|
|
@@ -148,15 +150,15 @@ class c extends b {
|
|
|
148
150
|
};
|
|
149
151
|
#l(t) {
|
|
150
152
|
this.#t.alpha = t.alpha = n(this.hArg, "alpha", t.alpha);
|
|
151
|
-
const
|
|
152
|
-
t.texture =
|
|
153
|
+
const i = t.width / 3, h = this.#t.enabled ? i : t.width, a = t.height, o = t.texture.baseTexture, c = new u(o, new p(0, 0, i, a)), s = new u(o, new p(i, 0, i, a)), d = new u(o, new p(i * 2, 0, i, a)), l = () => {
|
|
154
|
+
t.texture = c;
|
|
153
155
|
};
|
|
154
156
|
this.#t.enabled && l(), this.normal = l, this.#s = () => this.canFocus() ? (t.texture = d, !0) : !1, this.#h = () => {
|
|
155
157
|
t.texture = s;
|
|
156
|
-
}, "width" in this.hArg ? (this.#t.width = f(this.hArg.width), this.scale.x *= this.#t.width / h) : this.#t.width = h, "height" in this.hArg ? (this.#t.height = f(this.hArg.height), this.scale.y *= this.#t.height / a) : this.#t.height = a,
|
|
158
|
+
}, "width" in this.hArg ? (this.#t.width = f(this.hArg.width), this.scale.x *= this.#t.width / h) : this.#t.width = h, "height" in this.hArg ? (this.#t.height = f(this.hArg.height), this.scale.y *= this.#t.height / a) : this.#t.height = a, r.#n(this, t, h, a);
|
|
157
159
|
}
|
|
158
160
|
}
|
|
159
161
|
export {
|
|
160
|
-
|
|
162
|
+
r as Button
|
|
161
163
|
};
|
|
162
164
|
//# sourceMappingURL=Button.js.map
|
package/dist/Button.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sources":["../src/sn/Button.ts"],"sourcesContent":["/* ***** BEGIN LICENSE BLOCK *****\n\tCopyright (c) 2018-2025 Famibee (famibee.blog38.fc2.com)\n\n\tThis software is released under the MIT License.\n\thttp://opensource.org/licenses/mit-license.php\n** ***** END LICENSE BLOCK ***** */\n\nimport {uint, type IEvtMng, argChk_Boolean, argChk_Num, mesErrJSON} from './CmnLib';\nimport type {TArg} from './Grammar';\nimport {SpritesMng} from './SpritesMng';\nimport {Layer} from './Layer';\nimport type {Config} from './Config';\nimport type {IMakeDesignCast} from './LayerMng';\n//import {DesignCast, TxtBtnDesignCast, PicBtnDesignCast} from './DesignCast';\n\nimport {Container, Text, Rectangle, Texture, TextStyle, type Sprite, Graphics} from 'pixi.js';\n\n\nexport class Button extends Container {\n\tstatic\tfontFamily\t= '\\'Hiragino Sans\\', \\'Hiragino Kaku Gothic ProN\\', \\'游ゴシック Medium\\', meiryo, sans-serif';\n\tstatic\t#procMasume4txt = (_me: Button, _txt: Text)=> { /* empty */ };\n\tstatic\t#procMasume4pic = (_me: Button, _sp: Sprite, _w3: number, _h: number)=> { /* empty */ };\n\tstatic\tinit(cfg: Config) {\n\t\tif (! cfg.oCfg.debug.masume) return;\n\n\t\tButton.#procMasume4txt = (me, txt)=> me.addChild(\n\t\t\t(new Graphics)\n\t\t\t.beginFill(0x883388, 0.2)\n\t\t\t.lineStyle(1, 0x883388, 1)\n\t\t\t.drawRect(txt.x, txt.y, txt.width, txt.height)\n\t\t\t.endFill()\n\t\t);\n\t\tButton.#procMasume4pic = (me, sp, w3, h)=> me.addChild(\n\t\t\t(new Graphics)\n\t\t\t.beginFill(0x883388, 0.2)\n\t\t\t.lineStyle(1, 0x883388, 1)\n\t\t\t.drawRect(sp.x, sp.y, w3, h)\n\t\t\t.endFill()\n\t\t);\n\t}\n\n\tsetText(_text: string) { /* empty */ }\n\tgetBtnBounds = ()=> this.#rctBtnTxt;\n\t\t// 文字ボタンは背景画像を含まない位置指定なので、その当たり判定用\n\t#rctBtnTxt\t= new Rectangle;\n\n\t#sps\t\t= new SpritesMng;\n\n//\t#idc\t\t: DesignCast;\n\treadonly\t#o\t: {\n\t\ttype\t: 'pic'|'text';\n\t\tenabled\t: boolean;\n\t\tx\t\t: number;\n\t\ty\t\t: number;\n\t\trotation: number;\n\t\t\t// flash : rotation is in degrees.\n\t\t\t// pixijs: rotation is in radians, angle is in degrees.\n\t\tpivot_x\t: number;\n\t\tpivot_y\t: number;\n\t\tscale_x\t: number;\n\t\tscale_y\t: number;\n\t\talpha\t: number;\n\t\ttext\t: string;\n\t\tb_pic\t: string;\n\t\twidth\t: number;\n\t\theight\t: number;\n\t};\n\n\tconstructor(private readonly hArg: TArg, readonly evtMng: IEvtMng, readonly resolve: ()=> void, private readonly canFocus: ()=> boolean) {\n\t\tsuper();\n/*\n\t\tif (CmnLib.isDbg) {\n\t\t\tthis.makeDesignCast = gdc=> gdc(this.#idc);\n\t\t\tthis.cvsResize = ()=> this.#idc.cvsResize();\n\t\t}\n*/\n\t\tthis.#o = {\n\t\t\ttype\t: 'pic',\n\t\t\tenabled\t: argChk_Boolean(hArg, 'enabled', true),\n\t\t\tx\t\t: this.x = uint(hArg.left ?? 0),\n\t\t\ty\t\t: this.y = uint(hArg.top ?? 0),\n\t\t\trotation: this.angle = argChk_Num(hArg, 'rotation', this.angle),\n\t\t\t\t// flash : rotation is in degrees.\n\t\t\t\t// pixijs: rotation is in radians, angle is in degrees.\n\t\t\tpivot_x\t: this.pivot.x = argChk_Num(hArg, 'pivot_x', this.pivot.x),\n\t\t\tpivot_y\t: this.pivot.y = argChk_Num(hArg, 'pivot_y', this.pivot.y),\n\t\t\tscale_x\t: this.scale.x = argChk_Num(hArg, 'scale_x', this.scale.x),\n\t\t\tscale_y\t: this.scale.y = argChk_Num(hArg, 'scale_y', this.scale.y),\n\t\t\talpha\t: 1,\n\t\t\ttext\t: '',\n\t\t\tb_pic\t: '',\n\t\t\twidth\t: 0,\n\t\t\theight\t: 0,\n\t\t};\n\t\tthis.getBtnBounds = ()=> {\n\t\t\tthis.#rctBtnTxt.x = this.#o.x;\n\t\t\tthis.#rctBtnTxt.y = this.#o.y;\n\t\t\treturn this.#rctBtnTxt;\n\t\t};\n\n\t\tif (this.#o.enabled) evtMng.button(hArg, this, ()=> this.normal(), ()=> this.#hover(), ()=> this.#clicked());\t// あとで差し替えるのでアロー必須\n\n\t\t// == 画像から生成\n\t\tif (hArg.pic) {\n\t\t\tthis.#o.type = 'pic';\t// dump用\n\t\t\t// this.#idc = new PicBtnDesignCast(this, hArg);\n\n\t\t\tthis.#sps = new SpritesMng(\n\t\t\t\thArg.pic,\n\t\t\t\tthis,\n\t\t\t\tsp=> {\n\t\t\t\t\tthis.#loaded_pic(sp);\n\t\t\t\t\tthis.#rctBtnTxt.width = sp.width * this.#o.scale_x;\n\t\t\t\t\tthis.#rctBtnTxt.height = sp.height * this.#o.scale_y;\n\t\t\t\t},\n\t\t\t\t_isStop=> resolve(),\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tif (! hArg.text) throw 'textまたはpic属性は必須です';\n\n\t\t// == 文字列から生成\n\t\tconst height = argChk_Num(hArg, 'height', 30);\n\t\tconst style = new TextStyle({\n\t\t\talign\t\t: 'center',\n\t\t\tdropShadow\t: true,\n\t\t\tdropShadowAlpha\t: 0.7,\n\t\t\tdropShadowColor\t: 'white',\n\t\t\tdropShadowBlur\t: 7,\n\t\t\tdropShadowDistance\t: 0,\n\t\t\tfill\t\t: this.#o.enabled ?'black' :'gray',\n\t\t\tfontFamily\t: Button.fontFamily,\n\t\t\tfontSize\t: height,\n\t\t\tpadding\t\t: 5,\n\t\t});\n\t\tif (hArg.style) try {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\t\tconst o = JSON.parse(hArg.style);\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access\n\t\t\tfor (const [nm, v] of Object.entries(o)) (<any>style)[nm] = v;\n\t\t//\tstyle = {...style, ...JSON.parse(hArg.style)};\t// 上手くいかない\n\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\t\tthis.#o = {...this.#o, ...o};\n\t\t} catch (e) {\n\t\t\tif (e instanceof SyntaxError) throw new Error(mesErrJSON(hArg, 'style', e.message));\n\t\t\telse throw 'fn:Button.ts style';\n\t\t}\n\n\t\tconst txt = new Text(hArg.text ?? '', style);\n\t\ttxt.alpha = argChk_Num(hArg, 'alpha', txt.alpha);\t// 上にまとめない\n\t\ttxt.width = argChk_Num(hArg, 'width', 100);\n\t\ttxt.height = hArg.height = height;\n\t\tthis.setText = text=> {txt.text = text};\n\n\t\tthis.#o = {...this.#o,\n\t\t\ttype\t: 'text',\t// dump用\n\t\t\talpha\t: txt.alpha,\n\t\t\ttext\t: txt.text,\n\t\t\twidth\t: txt.width,\n\t\t\theight\t: txt.height,\n\t\t};\n//\t\tthis.#idc = new TxtBtnDesignCast(this, hArg, txt);\n\n\t\tlet isStop = false;\n\t\tthis.#o.width = this.width;\n\t\tthis.#o.height = this.height;\n\t\tif (hArg.b_pic) {\n\t\t\tthis.#o.b_pic = hArg.b_pic;\n\t\t\tthis.#sps = new SpritesMng(\n\t\t\t\thArg.b_pic,\n\t\t\t\tthis,\n\t\t\t\tsp=> {\n\t\t\t\t\tthis.#loaded_b_pic(sp, txt);\n\t\t\t\t\tthis.#o.width = this.width;\n\t\t\t\t\tthis.#o.height = this.height;\n\t\t\t\t\ttxt.name = JSON.stringify(this.#o);\n\t\t\t\t},\n\t\t\t\tisStop=> {\n\t\t\t\t\tLayer.setBlendmode(this, hArg);\n\t\t\t\t\tif (isStop) resolve();\n\t\t\t\t},\n\t\t\t);\n\t\t\tisStop = this.#sps.ret;\n\t\t}\n\t\ttxt.name = JSON.stringify(this.#o);\n\n\t\tthis.addChild(txt);\n\t\tthis.#rctBtnTxt.width = txt.width;\t// addChild()後に取得すること\n\t\tthis.#rctBtnTxt.height = txt.height;\n\t//x\tthis.#rctBtnTxt = txt.getBounds();\t// 上手くいかない\n\n\t\tif (! hArg.b_pic) Layer.setBlendmode(this, hArg);\t// 重なり順でここ\n\t\tButton.#procMasume4txt(this, txt);\n\t\tif (! this.#o.enabled) {if (! isStop) resolve(); return}\n\n\t\tconst style_hover = style.clone();\n\t\tif (hArg.style_hover) try {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\t\tconst o = JSON.parse(hArg.style_hover);\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n\t\t\tfor (const [nm, v] of Object.entries(o)) (<any>style_hover)[nm] = v;\n\t\t} catch (e) {\n\t\t\tif (e instanceof SyntaxError) throw new Error(mesErrJSON(hArg, 'style_hover', e.message));\n\t\t\telse throw 'fn:Button.ts style_hover';\n\t\t}\n\t\telse style_hover.fill = 'white';\n\n\t\tconst style_clicked = style_hover.clone();\n\t\tif (hArg.style_clicked) try {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\t\tconst o = JSON.parse(hArg.style_clicked);\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n\t\t\tfor (const [nm, v] of Object.entries(o)) (<any>style_clicked)[nm] = v;\n\t\t} catch (e) {\n\t\t\tif (e instanceof SyntaxError) throw new Error(mesErrJSON(hArg, 'style_clicked', e.message));\n\t\t\telse throw 'fn:Button.ts style_clicked';\n\t\t}\n\t\telse style_clicked.dropShadow = false;\n\n\t\tthis.normal = ()=> {txt.style = style};\n\t\tthis.#hover = ()=> {\n\t\t\tif (! canFocus()) return false;\n\t\t\ttxt.style = style_hover;\n\t\t\treturn true;\n\t\t};\n\t\tthis.#clicked = ()=> {txt.style = style_clicked};\n\n\t\tif (! isStop) resolve();\n\t}\n\n\toverride\tdestroy(): void {\n\t\tthis.evtMng.unButton(this);\n\t\tthis.#sps.destroy();\n\t\tsuper.destroy();\n\t}\n\n\tmakeDesignCast(_gdc: IMakeDesignCast) { /* empty */ }\n\tshowDesignCast() { /* empty */ }\n//\tshowDesignCast() {this.#idc.visible = true}\n\tcvsResize() { /* empty */ }\n\n\t#loaded_b_pic(sp: Sprite, txt: Text) {\n\t\tthis.setChildIndex(sp, 0);\n\t\tsp.alpha = txt.alpha;\n\t\tsp.setTransform(\n\t\t\ttxt.x, txt.y,\n\t\t\t1, 1, txt.rotation, 0, 0,\n\t\t\t(sp.width -txt.width) /2,\n\t\t\t(sp.height -txt.height) /2,\n\t\t);\n\n\t\tsp.name = txt.name;\n\t}\n\n\tnormal\t\t: ()=> void\t\t= ()=> { /* empty */ };\n\t#hover\t\t: ()=> boolean\t= ()=> false;\n\t#clicked\t: ()=> void\t\t= ()=> { /* empty */ };\n\t#loaded_pic(sp: Sprite) {\n\t\tthis.#o.alpha = sp.alpha = argChk_Num(this.hArg, 'alpha', sp.alpha);\n//\t\t(this.#idc as PicBtnDesignCast).setSp(sp);\n\n\t\tconst w_3 = sp.width /3;\n\t\tconst w = this.#o.enabled ?w_3 :sp.width;\n\t\tconst h = sp.height;\n\t\tconst tx = sp.texture.baseTexture;\n\t\tconst txNormal = new Texture(tx, new Rectangle(0, 0, w_3, h));\n\t\tconst txClicked = new Texture(tx, new Rectangle(w_3, 0, w_3, h));\n\t\tconst txHover = new Texture(tx, new Rectangle(w_3 *2, 0, w_3, h));\n\t\tconst normal = ()=> {sp.texture = txNormal};\n\t\tif (this.#o.enabled) normal();\n\n\t\tthis.normal\t= normal;\n\t\tthis.#hover\t\t= ()=> {\n\t\t\tif (! this.canFocus()) return false;\n\t\t\tsp.texture = txHover;\n\t\t\treturn true;\n\t\t};\n\t\tthis.#clicked\t= ()=> {sp.texture = txClicked};\n\n\t\tif ('width' in this.hArg) {\n\t\t\tthis.#o.width = uint(this.hArg.width);\n\t\t\tthis.scale.x *= this.#o.width /w;\n\t\t}\n\t\telse this.#o.width = w;\n\t\tif ('height' in this.hArg) {\n\t\t\tthis.#o.height = uint(this.hArg.height);\n\t\t\tthis.scale.y *= this.#o.height /h;\n\t\t}\n\t\telse this.#o.height = h;\n\t\tsp.name = JSON.stringify(this.#o);\t// dump用\n\n\t\tButton.#procMasume4pic(this, sp, w, h);\n\t}\n\n}\n"],"names":["Button","Container","hArg","evtMng","resolve","canFocus","#o","argChk_Boolean","uint","argChk_Num","#rctBtnTxt","#hover","#clicked","#sps","SpritesMng","sp","#loaded_pic","height","style","TextStyle","o","nm","v","e","mesErrJSON","txt","Text","text","isStop","#loaded_b_pic","Layer","#procMasume4txt","style_hover","style_clicked","_me","_txt","#procMasume4pic","_sp","_w3","_h","cfg","me","Graphics","w3","h","_text","Rectangle","_gdc","w_3","w","tx","txNormal","Texture","txClicked","txHover","normal"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Button.js","sources":["../src/sn/Button.ts"],"sourcesContent":["/* ***** BEGIN LICENSE BLOCK *****\n\tCopyright (c) 2018-2025 Famibee (famibee.blog38.fc2.com)\n\n\tThis software is released under the MIT License.\n\thttp://opensource.org/licenses/mit-license.php\n** ***** END LICENSE BLOCK ***** */\n\nimport {uint, type IEvtMng, argChk_Boolean, argChk_Num, mesErrJSON} from './CmnLib';\nimport type {TArg} from './Grammar';\nimport {SpritesMng} from './SpritesMng';\nimport {Layer} from './Layer';\nimport type {Config} from './Config';\nimport type {IMakeDesignCast} from './LayerMng';\n//import {DesignCast, TxtBtnDesignCast, PicBtnDesignCast} from './DesignCast';\n\nimport {Container, Text, Rectangle, Texture, TextStyle, type Sprite, Graphics} from 'pixi.js';\n\n\nexport class Button extends Container {\n\tstatic\tfontFamily\t= '\\'Hiragino Sans\\', \\'Hiragino Kaku Gothic ProN\\', \\'游ゴシック Medium\\', meiryo, sans-serif';\n\tstatic\t#procMasume4txt = (_me: Button, _txt: Text)=> { /* empty */ };\n\tstatic\t#procMasume4pic = (_me: Button, _sp: Sprite, _w3: number, _h: number)=> { /* empty */ };\n\tstatic\tinit(cfg: Config) {\n\t\tif (! cfg.oCfg.debug.masume) return;\n\n\t\tButton.#procMasume4txt = (me, txt)=> me.addChild(\n\t\t\t(new Graphics)\n\t\t\t.beginFill(0x883388, 0.2)\n\t\t\t.lineStyle(1, 0x883388, 1)\n\t\t\t.drawRect(txt.x, txt.y, txt.width, txt.height)\n\t\t\t.endFill()\n\t\t);\n\t\tButton.#procMasume4pic = (me, sp, w3, h)=> me.addChild(\n\t\t\t(new Graphics)\n\t\t\t.beginFill(0x883388, 0.2)\n\t\t\t.lineStyle(1, 0x883388, 1)\n\t\t\t.drawRect(sp.x, sp.y, w3, h)\n\t\t\t.endFill()\n\t\t);\n\t}\n\n\tsetText(_text: string) { /* empty */ }\n\tgetBtnBounds = ()=> this.#rctBtnTxt;\n\t\t// 文字ボタンは背景画像を含まない位置指定なので、その当たり判定用\n\t#rctBtnTxt\t= new Rectangle;\n\n\t#sps\t\t= new SpritesMng;\n\n//\t#idc\t\t: DesignCast;\n\treadonly\t#o\t: {\n\t\ttype\t: 'pic'|'text';\n\t\tenabled\t: boolean;\n\t\tx\t\t: number;\n\t\ty\t\t: number;\n\t\trotation: number;\n\t\t\t// flash : rotation is in degrees.\n\t\t\t// pixijs: rotation is in radians, angle is in degrees.\n\t\tpivot_x\t: number;\n\t\tpivot_y\t: number;\n\t\tscale_x\t: number;\n\t\tscale_y\t: number;\n\t\talpha\t: number;\n\t\ttext\t: string;\n\t\tb_pic\t: string;\n\t\twidth\t: number;\n\t\theight\t: number;\n\t};\n\n\tconstructor(private readonly hArg: TArg, readonly evtMng: IEvtMng, readonly resolve: ()=> void, private readonly canFocus: ()=> boolean) {\n\t\tsuper();\n/*\n\t\tif (CmnLib.isDbg) {\n\t\t\tthis.makeDesignCast = gdc=> gdc(this.#idc);\n\t\t\tthis.cvsResize = ()=> this.#idc.cvsResize();\n\t\t}\n*/\n\t\tthis.#o = {\n\t\t\ttype\t: 'pic',\n\t\t\tenabled\t: argChk_Boolean(hArg, 'enabled', true),\n\t\t\tx\t\t: this.x = uint(hArg.left ?? 0),\n\t\t\ty\t\t: this.y = uint(hArg.top ?? 0),\n\t\t\trotation: this.angle = argChk_Num(hArg, 'rotation', this.angle),\n\t\t\t\t// flash : rotation is in degrees.\n\t\t\t\t// pixijs: rotation is in radians, angle is in degrees.\n\t\t\tpivot_x\t: this.pivot.x = argChk_Num(hArg, 'pivot_x', this.pivot.x),\n\t\t\tpivot_y\t: this.pivot.y = argChk_Num(hArg, 'pivot_y', this.pivot.y),\n\t\t\tscale_x\t: this.scale.x = argChk_Num(hArg, 'scale_x', this.scale.x),\n\t\t\tscale_y\t: this.scale.y = argChk_Num(hArg, 'scale_y', this.scale.y),\n\t\t\talpha\t: 1,\n\t\t\ttext\t: '',\n\t\t\tb_pic\t: '',\n\t\t\twidth\t: 0,\n\t\t\theight\t: 0,\n\t\t};\n\t\tthis.getBtnBounds = ()=> {\n\t\t\tthis.#rctBtnTxt.x = this.#o.x;\n\t\t\tthis.#rctBtnTxt.y = this.#o.y;\n\t\t\treturn this.#rctBtnTxt;\n\t\t};\n\n\t\tif (this.#o.enabled) evtMng.button(hArg, this, ()=> this.normal(), ()=> this.#hover(), ()=> this.#clicked());\t// あとで差し替えるのでアロー必須\n\n\t\t// == 画像から生成\n\t\tif (hArg.pic) {\n\t\t\tthis.#o.type = 'pic';\t// dump用\n\t\t\t// this.#idc = new PicBtnDesignCast(this, hArg);\n\n\t\t\tthis.#sps = new SpritesMng(\n\t\t\t\thArg.pic,\n\t\t\t\tthis,\n\t\t\t\tsp=> {\n\t\t\t\t\tthis.#loaded_pic(sp);\n\t\t\t\t\tthis.#rctBtnTxt.width = sp.width * this.#o.scale_x;\n\t\t\t\t\tthis.#rctBtnTxt.height = sp.height * this.#o.scale_y;\n\t\t\t\t},\n\t\t\t\t_isStop=> resolve(),\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tif (! hArg.text) throw 'textまたはpic属性は必須です';\n\n\t\t// == 文字列から生成\n\t\tconst height = argChk_Num(hArg, 'height', 30);\n\t\tconst style = new TextStyle({\n\t\t\talign\t\t: 'center',\n\t\t\tdropShadow\t: true,\n\t\t\tdropShadowAlpha\t: 0.7,\n\t\t\tdropShadowColor\t: 'white',\n\t\t\tdropShadowBlur\t: 7,\n\t\t\tdropShadowDistance\t: 0,\n\t\t\tfill\t\t: this.#o.enabled ?'black' :'gray',\n\t\t\tfontFamily\t: Button.fontFamily,\n\t\t\tfontSize\t: height,\n\t\t\tpadding\t\t: 5,\n\t\t});\n\t\tif (hArg.style) try {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\t\tconst o = JSON.parse(hArg.style);\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access\n\t\t\tfor (const [nm, v] of Object.entries(o)) (<any>style)[nm] = v;\n\t\t//\tstyle = {...style, ...JSON.parse(hArg.style)};\t// 上手くいかない\n\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\t\tthis.#o = {...this.#o, ...o};\n\t\t} catch (e) {\n\t\t\tif (e instanceof SyntaxError) throw new Error(mesErrJSON(hArg, 'style', e.message));\n\t\t\telse throw 'fn:Button.ts style';\n\t\t}\n\n\t\tconst txt = new Text(hArg.text ?? '', style);\n\t\ttxt.alpha = argChk_Num(hArg, 'alpha', txt.alpha);\t// 上にまとめない\n\t\ttxt.width = argChk_Num(hArg, 'width', 100);\n\t\ttxt.height = hArg.height = height;\n\t\tthis.setText = text=> {txt.text = text};\n\n\t\tthis.#o = {...this.#o,\n\t\t\ttype\t: 'text',\t// dump用\n\t\t\talpha\t: txt.alpha,\n\t\t\ttext\t: txt.text,\n\t\t\twidth\t: txt.width,\n\t\t\theight\t: txt.height,\n\t\t};\n//\t\tthis.#idc = new TxtBtnDesignCast(this, hArg, txt);\n\n\t\tlet isStop = false;\n\t\tthis.#o.width = this.width;\n\t\tthis.#o.height = this.height;\n\t\tif (hArg.b_pic) {\n\t\t\tthis.#o.b_pic = hArg.b_pic;\n\t\t\tthis.#sps = new SpritesMng(\n\t\t\t\thArg.b_pic,\n\t\t\t\tthis,\n\t\t\t\tsp=> {\n\t\t\t\t\tthis.#loaded_b_pic(sp, txt);\n\t\t\t\t\tthis.#o.width = this.width;\n\t\t\t\t\tthis.#o.height = this.height;\n\t\t\t\t\t// txt.name = JSON.stringify(this.#o);\n\t\t\t\t\t// DevTools 【メモリ】【重複する文字列】で悪さするので廃止\n\t\t\t\t},\n\t\t\t\tisStop=> {\n\t\t\t\t\tLayer.setBlendmode(this, hArg);\n\t\t\t\t\tif (isStop) resolve();\n\t\t\t\t},\n\t\t\t);\n\t\t\tisStop = this.#sps.ret;\n\t\t}\n\t\t// txt.name = JSON.stringify(this.#o);\n\t\t// DevTools 【メモリ】【重複する文字列】で悪さするので廃止\n\n\t\tthis.addChild(txt);\n\t\tthis.#rctBtnTxt.width = txt.width;\t// addChild()後に取得すること\n\t\tthis.#rctBtnTxt.height = txt.height;\n\t//x\tthis.#rctBtnTxt = txt.getBounds();\t// 上手くいかない\n\n\t\tif (! hArg.b_pic) Layer.setBlendmode(this, hArg);\t// 重なり順でここ\n\t\tButton.#procMasume4txt(this, txt);\n\t\tif (! this.#o.enabled) {if (! isStop) resolve(); return}\n\n\t\tconst style_hover = style.clone();\n\t\tif (hArg.style_hover) try {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\t\tconst o = JSON.parse(hArg.style_hover);\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n\t\t\tfor (const [nm, v] of Object.entries(o)) (<any>style_hover)[nm] = v;\n\t\t} catch (e) {\n\t\t\tif (e instanceof SyntaxError) throw new Error(mesErrJSON(hArg, 'style_hover', e.message));\n\t\t\telse throw 'fn:Button.ts style_hover';\n\t\t}\n\t\telse style_hover.fill = 'white';\n\n\t\tconst style_clicked = style_hover.clone();\n\t\tif (hArg.style_clicked) try {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\t\tconst o = JSON.parse(hArg.style_clicked);\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n\t\t\tfor (const [nm, v] of Object.entries(o)) (<any>style_clicked)[nm] = v;\n\t\t} catch (e) {\n\t\t\tif (e instanceof SyntaxError) throw new Error(mesErrJSON(hArg, 'style_clicked', e.message));\n\t\t\telse throw 'fn:Button.ts style_clicked';\n\t\t}\n\t\telse style_clicked.dropShadow = false;\n\n\t\tthis.normal = ()=> {txt.style = style};\n\t\tthis.#hover = ()=> {\n\t\t\tif (! canFocus()) return false;\n\t\t\ttxt.style = style_hover;\n\t\t\treturn true;\n\t\t};\n\t\tthis.#clicked = ()=> {txt.style = style_clicked};\n\n\t\tif (! isStop) resolve();\n\t}\n\n\toverride\tdestroy(): void {\n\t\tthis.normal\t\t= ()=> { /* empty */ };\n\t\tthis.#hover\t\t= ()=> false;\n\t\tthis.#clicked\t= ()=> { /* empty */ };\n\n\t\tthis.evtMng.unButton(this);\n\t\tthis.#sps.destroy();\n\t\tsuper.destroy();\n\t}\n\n\tmakeDesignCast(_gdc: IMakeDesignCast) { /* empty */ }\n\tshowDesignCast() { /* empty */ }\n//\tshowDesignCast() {this.#idc.visible = true}\n\tcvsResize() { /* empty */ }\n\n\t#loaded_b_pic(sp: Sprite, txt: Text) {\n\t\tthis.setChildIndex(sp, 0);\n\t\tsp.alpha = txt.alpha;\n\t\tsp.setTransform(\n\t\t\ttxt.x, txt.y,\n\t\t\t1, 1, txt.rotation, 0, 0,\n\t\t\t(sp.width -txt.width) /2,\n\t\t\t(sp.height -txt.height) /2,\n\t\t);\n\n\t\tsp.name = txt.name;\n\t}\n\n\tnormal\t\t: ()=> void\t\t= ()=> { /* empty */ };\n\t#hover\t\t: ()=> boolean\t= ()=> false;\n\t#clicked\t: ()=> void\t\t= ()=> { /* empty */ };\n\t#loaded_pic(sp: Sprite) {\n\t\tthis.#o.alpha = sp.alpha = argChk_Num(this.hArg, 'alpha', sp.alpha);\n//\t\t(this.#idc as PicBtnDesignCast).setSp(sp);\n\n\t\tconst w_3 = sp.width /3;\n\t\tconst w = this.#o.enabled ?w_3 :sp.width;\n\t\tconst h = sp.height;\n\t\tconst tx = sp.texture.baseTexture;\n\t\tconst txNormal = new Texture(tx, new Rectangle(0, 0, w_3, h));\n\t\tconst txClicked = new Texture(tx, new Rectangle(w_3, 0, w_3, h));\n\t\tconst txHover = new Texture(tx, new Rectangle(w_3 *2, 0, w_3, h));\n\t\tconst normal = ()=> {sp.texture = txNormal};\n\t\tif (this.#o.enabled) normal();\n\n\t\tthis.normal\t= normal;\n\t\tthis.#hover\t\t= ()=> {\n\t\t\tif (! this.canFocus()) return false;\n\t\t\tsp.texture = txHover;\n\t\t\treturn true;\n\t\t};\n\t\tthis.#clicked\t= ()=> {sp.texture = txClicked};\n\n\t\tif ('width' in this.hArg) {\n\t\t\tthis.#o.width = uint(this.hArg.width);\n\t\t\tthis.scale.x *= this.#o.width /w;\n\t\t}\n\t\telse this.#o.width = w;\n\t\tif ('height' in this.hArg) {\n\t\t\tthis.#o.height = uint(this.hArg.height);\n\t\t\tthis.scale.y *= this.#o.height /h;\n\t\t}\n\t\telse this.#o.height = h;\n\t\t// sp.name = JSON.stringify(this.#o);\t// dump用\n\t\t// DevTools 【メモリ】【重複する文字列】で悪さするので廃止\n\n\t\tButton.#procMasume4pic(this, sp, w, h);\n\t}\n\n}\n"],"names":["Button","Container","hArg","evtMng","resolve","canFocus","#o","argChk_Boolean","uint","argChk_Num","#rctBtnTxt","#hover","#clicked","#sps","SpritesMng","sp","#loaded_pic","height","style","TextStyle","o","nm","v","mesErrJSON","txt","Text","text","isStop","#loaded_b_pic","Layer","#procMasume4txt","style_hover","style_clicked","_me","_txt","#procMasume4pic","_sp","_w3","_h","cfg","me","Graphics","w3","h","_text","Rectangle","_gdc","w_3","w","tx","txNormal","Texture","txClicked","txHover","normal"],"mappings":"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"}
|