ローディングビルダー

2023-07-21

LoadingBuilder

GameWidgetloadingBuilderプロパティに Widget を指定することで、 ゲームがローディングされるまでの表示を変更することができます。

公式ドキュメント https://docs.flame-engine.org/latest/flame/game_widget.html#GameWidget-loadingBuilder
APIリファレンス https://pub.dev/documentation/flame/latest/game/GameWidget/loadingBuilder.html

表示する

GameWidgetloadingBuilderプロパティでCircularProgressIndicatorを返します。

  @override
  Widget build(BuildContext context) {
    return GameWidget<LoadingGame>(
      game: game,
      loadingBuilder: (context) => const Center(
        child: CircularProgressIndicator(),
      ),
    );
  }

ローディング中であることがわかりやすいようにGameonLoadで 10 秒待った後、Loadedを表示します。

  @override
  Future<void> onLoad() async {
    super.onLoad();

    await Future<void>.delayed(
      const Duration(seconds: 10),
    );

    await add(
      TextComponent(
        text: 'Loaded',
        position: Vector2(size.x * 0.5, size.y * 0.5),
        anchor: Anchor.center,
      ),
    );
  }

これでローディング画面が表示できます。

© 2023 tnantoka