Как обнаружить долгое нажатие в игре с трепетанием / пламенем - PullRequest
1 голос
/ 08 мая 2020

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

в 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 Ответ

0 голосов
/ 08 июня 2020

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

class MyGame extends BaseGame with LongPressDetector {

  MyGame();

  @override
  void onLongPressEnd(LongPressEndDetails details) {
    if (mainMenu.tutorialBtnRect.contains(details.globalPosition)) {
      mainMenu.tutorialTapped();
    }
  }
}
...