2023-05-03
テキストボタンを表示するにはButtonComponent
を使います。
button
(普通の表示)とbuttonDown
(クリック中の表示)に任意のPositionComponent
を指定できますが、
ここではテキストを指定することで、テキストボタンにします。
クリック時の処理はonPressed
に指定します。
メンバーを用意します。
ボタンが押された数を表示するために _text
と_count
を使います。
late final TextComponent _text;
var _count = 0;
_text
を初期化してadd
します。
_text = TextComponent(
text: '0',
position: Vector2(size.x * 0.5, size.y * 0.6),
anchor: Anchor.center,
);
await add(_text);
update
で_count
を_text
に反映します。
@override
void update(double dt) {
super.update(dt);
_text.text = _count.toString();
}
主役のボタンです。 クリック中は色を変えて、クリック時の処理ではカウントアップしています。
await add(
ButtonComponent(
position: Vector2(size.x * 0.5, size.y * 0.5),
onPressed: () => _count++,
button: TextComponent(
text: 'Button',
textRenderer: TextPaint(
style: const TextStyle(
fontSize: 32,
color: Colors.white,
),
),
),
buttonDown: TextComponent(
text: 'Button',
textRenderer: TextPaint(
style: const TextStyle(
fontSize: 32,
color: Colors.grey,
),
),
),
anchor: Anchor.center,
),
);
これでボタンが動くようになりました。
© 2023 tnantoka