2023-05-03
TapCallbacks
ミックスインを使うとタップを検出できます。
例えばonTapDown
にはタップしたときの処理を書くことができます。
なお、よりジェスチャー検出機能の一部として TapDetector
というミックスインもありますが、
以下の記述があるので、基本的には TapCallbacks
を使う方が良いようです。
This document describes the new tap events API. The old (legacy) approach, which is still supported, is described in Gesture Input.
TapCallbacks
はcontainsLocalPoint
メソッドを実装しているコンポーネントでしか使えないので、
それが満たせない場合などにTapDetector
を使うことになるでしょう。
TapDetetor
については以下を参照してください。
event.localPosition
をinfo.eventPosition.game
に変更すればTapCallbacks
と同じように使えます。
Game クラスにwith TapCallbacks
を追加し、onTapDown
メソッドでタップ時の処理を書きます。
今回はタップした場所に円を表示しています。
import 'package:flame/components.dart';
import 'package:flame/events.dart';
import 'package:flame/game.dart';
class TapGame extends FlameGame with TapCallbacks {
@override
Future<void> onLoad() async {
super.onLoad();
}
@override
void onTapDown(TapDownEvent event) {
super.onTapDown(event);
add(
CircleComponent(
position: event.localPosition,
radius: 10,
anchor: Anchor.center,
),
);
}
}
このようにしてタップに反応するゲームを作ることができます。
© 2023 tnantoka