如何让动画精灵看起来像在火焰游戏中向前走?



我有一个移动的精灵,它在4个图像的循环上设置动画,使其看起来像是在一个地方行走。当我点击一个按钮时,我想让精灵向前移动一定的量。我试着寻找如何做到这一点,但这让我很困惑。我找到了Flame Game的这张解释效果的信息表,但我不知道如何将其应用于我所拥有的(https://docs.flame-engine.org/1.0.0/effects.html)。

这是使狗移动的类的构造函数:

Dog()
: super(
priority: 1,
playing: true,
scale: Vector2(1, 1),
size: Vector2.all(50),
) {
animation = SpriteAnimation.spriteList(runPictures, stepTime: 0.2);
position = Vector2(150.0, 150.0);
}

我想让狗在屏幕顶部移动100个像素,同时点击按钮,在上面的循环中移动。这个按钮会将它发送到一个类,该类会使它移动。如果有人能提供示例代码或有用的教程,那将非常有帮助。

您正处于正确的轨道上,您希望将MoveByEffect添加到组件中。

我假设您已经设置了按钮,并且您可以从那里访问Dog组件的实例,然后您只需将效果添加到该组件:

final dog = Dog(...);
// Or whatever callback you have for the button
void onTap() {
dog.add(
MoveByEffect(Vector2(0, -100), EffectController(duration: 1)),
);  
}

这将使狗在一秒内向上移动100px。

最新更新