【问题标题】:How to detect tap on Flutter Flame v1.0.0-rc6 and later?如何检测 Flutter Flame v1.0.0-rc6 及更高版本的点击?
【发布时间】:2021-03-23 07:59:50
【问题描述】:

相当于:

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

在 Flame 1.0.0-rc6 及更高版本中?

我尝试了很多方法来检测水龙头,但似乎不起作用。它在 AddGestureRecognizer 删除更新之前工作。

谢谢你:)

【问题讨论】:

  • flame-engine.org/docs/#/input 这可能会有所帮助。
  • 我已经读过这篇文章,但不知何故,它不适用于我的代码......但无论如何谢谢

标签: flutter flame


【解决方案1】:

我发现了我的错误,

我的用户界面(菜单、生活等...)“超过”了触摸检测,因此 onTapDown 无法检测到任何触摸,因为它处于下方。

我通过减小容器的大小来解决这个问题,以便能够到达 onTapDown 的“底层”。

【讨论】:

    【解决方案2】:

    我还寻找了一个替代方案,因为我遇到了“addGestureRecognizer”现在已被弃用的问题。

    我通过像这样在游戏中实现 TapDetector 解决了这个问题。

    class GameController extends Game implements TapDetector {...}
    

    Flame Doc https://flame-engine.org/docs/#/input 使用了“with”-关键字。但它对我不起作用。

    【讨论】:

      猜你喜欢
      • 2020-01-06
      • 2013-06-11
      • 2021-11-17
      • 2023-02-02
      • 2021-12-09
      • 2022-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多