长话短说。我在扩展小部件中使用火焰引擎。现在我正在加载六个背景以及我在 Game 中的 SpriteComponent 类,它使用 HasTappableComponents 扩展了 FlameGame。现在我想给这个 SpriteComponent 添加一些交互,比如在没有点击时对点击或切换动画的反应。我不明白为什么它甚至不打印“点击”...
class FoxCharacter extends SpriteComponent with Tappable, HasGameRef {
String working = "like a charm";
late SpriteAnimation animation;
late SpriteAnimationComponent animationComponent2;
Future<void> onLoad() async {
super.onLoad();
animation = await gameRef.loadSpriteAnimation(
'fox.png',
SpriteAnimationData.sequenced(
amount: 8,
textureSize: Vector2(64.0, 59.0),
stepTime: 0.15,
),
);
animationComponent2 = SpriteAnimationComponent(
animation: animation,
size: Vector2(200.0, 200.0),
position:Vector2(gameRef.size.x / 2 - 50, gameRef.size.y - 215),
);
add(animationComponent2);
print(working);
}
@override
bool onTapDown(TapDownInfo event) {
print("tap down");
return true;
}
}
我试图将 final 更改为 late 和其他一些枯燥的想法,但没有结果。如何向此 FoxCharacter 添加交互?这可能是它不能在 SpriteComponent 中使用而只能在 PositionComponent 中使用吗?