Flame/Flutter中是否有允许更改动画的EffectController函数?

q43xntqr  于 2023-06-30  发布在  Flutter
关注(0)|答案(1)|浏览(136)

我目前正在使用Flutter和Flame来创建一个模拟,它通过一组指令运行。每个指令通过使用MoveByEffect和EffectController的效果队列向角色添加效果。我想让角色变成一个不同的颜色的指示之一。有没有类似于前面提到的两个命令可以做到这一点?
我要么想给角色着色,要么给精灵的一个版本着色,让它可以像那个颜色一样运行。现在我正试图用倒计时器来延迟角色的颜色变化,但它要么在指令开始时改变颜色,要么在结束时改变颜色。
有没有什么东西可以处理这种代码?

if (effectQueue.isNotEmpty && children.query<Effect>().isEmpty) {
      add(effectQueue.removeAt(0));
    }

effectQueue.add(MoveByEffect(Vector2((moveLength), 0), EffectController(duration: 1)));
disho6za

disho6za1#

你可以使用ColorEffect来实现,你可以在这里看到一个例子。
基本上你是这样使用它的:

yourComponent.add(
  ColorEffect(
    Colors.blue,
    const Offset(
      0.0,
      0.8,
    ), // Means, applies from 0% to 80% of the color
    EffectController(
      duration: 1.5,
      reverseDuration: 1.5,
      infinite: true,
    ),
  ),
);

相关问题