アニメーションティッカー

2023-07-20

SpriteAnimationTicker

以前アニメーションで、SpriteAnimationComponentを使ってアニメーションを表示しました。 SpriteAnimationTicker を使えば、アニメーションの終了を待つなど状況に応じて処理ができます。

SpriteAnimationTickerSpriteAnimationComponentanimationTickerプロパティで取得できます。

公式ドキュメント https://docs.flame-engine.org/latest/flame/components.html#spriteanimationcomponent
APIリファレンス https://pub.dev/documentation/flame/latest/sprite/SpriteAnimationTicker-class.html

動かす

タップした位置にアニメーションを表示し、アニメーションが終わったら四角形を表示するようにします。

animationTickercompletedawaitを待つことで実現できます。

  @override
  Future onTapDown(TapDownEvent event) async {
    super.onTapDown(event);

    final component = SpriteAnimationComponent.fromFrameData(
      _image,
      _animationData,
      position: event.localPosition,
      anchor: Anchor.center,
    );
    add(component);

    await component.animationTicker?.completed;
    add(
      RectangleComponent(
        size: Vector2.all(32),
        position: event.localPosition,
        anchor: Anchor.center,
      ),
    );
  }

これでアニメーションの状況に応じた処理ができます。

© 2023 tnantoka