Как обнаружить долгое нажатие в игре с трепетанием / пламенем

У меня в игре появляется прямоугольник, и я могу обнаруживать такие нажатия

в main.dart

TapGestureRecognizer tapper = TapGestureRecognizer();
tapper.onTapDown = game.onTapDown;
flameUtil.addGestureRecognizer(tapper);

в game-controller.dart

void onTapDown(TapDownDetails d) {
  if (mainMenu.tutorialBtnRect.contains(d.globalPosition)) {
   mainMenu.tutorialTapped();
  }
}

Кажется, я не могу заставить его работать с любым из LongPressGestures. Что-то о PrimaryButton и скорости, которые я не могу установить

Пожалуйста помоги

Спасибо

1 ответ

Проще не использовать GestureRecognizers и просто реализовать его прямо в своей игре.

class MyGame extends BaseGame with LongPressDetector {

  MyGame();

  @override
  void onLongPressEnd(LongPressEndDetails details) {
    if (mainMenu.tutorialBtnRect.contains(details.globalPosition)) {
      mainMenu.tutorialTapped();
    }
  }
}
Другие вопросы по тегам