我正在使用 Flame 和 Flutter 开发一个简单的游戏。我正在关注本教程: 使用 Flutter 和 Flame 创建手机游戏 - 初学者教程
但是在我在教程行之后添加了一些代码之后:
flameUtil.addGestureRecognizer(tapper);
出现下划线且onTap
功能不起作用。
我正在使用 Flame 和 Flutter 开发一个简单的游戏。我正在关注本教程: 使用 Flutter 和 Flame 创建手机游戏 - 初学者教程
但是在我在教程行之后添加了一些代码之后:
flameUtil.addGestureRecognizer(tapper);
出现下划线且onTap
功能不起作用。
库的APIflutter-flame
不断发展,上面教程中的解决方案可能不再适用。
我很难从这个演示文稿中重新实现示例:https ://www.youtube.com/watch?v=sFpjEH-ok2s ,所以你并不孤单:-)
较新版本的flutter-flame
like 0.23.0
,需要使其能够将TapDetector
mixin 添加到您的BaseGame
类中,如下所示:
class MyBaseGame extends BaseGame with TapDetector, DoubleTapDetector {
@override
void onTapDown(_) {
add(RenderedTimeComponent(Timer(1)..start()));
}
@override
void onDoubleTap() {
add(RenderedTimeComponent(Timer(5)..start()));
}
}
多亏了这一点,您的 BoxGame 初始化代码只是:
BoxGame game = BoxGame();
runApp(game.widget);
没有Util
and的声明TapGestureRecognizer
。
您可以使用TapDetector
混合:
类 WarriorGirlGame 使用 TapDetector 扩展 FlameGame { @override void onTapDown(TapDownInfo info) { ... } }