2023-06-26
FlameGame に pauseEngine
というメソッドがあります。
これを使うとゲームの動きを止めることができます。
復帰させる時は resumeEngine
を呼びます。
以前のルーター で使ったRoute
にstopTime
というメソッドがあります。
こちらは今表示しているRoute
の動きを止めることができます。 復帰させる時はresumeTime
を呼びます。
こちらはゲーム全体ではなく一部のRoute
を止めるので、
「別の半透明なRoute
を表示させて、そこでアニメーションを表示する」などの使い方ができます。
以下のドキュメントに半透明なアニメーションと共にポーズさせる例が載っています。
公式ドキュメント https://docs.flame-engine.org/latest/flame/router.html#routercomponent単純に stopEngine
、stopTime
を呼び出す例です。
import 'package:flutter/material.dart';
import 'package:flame/game.dart';
import 'game.dart';
class PausePage extends StatelessWidget {
PausePage({super.key});
final game = PauseGame();
@override
Widget build(BuildContext context) {
return GameWidget(game: game);
}
}
どちらのボタンをクリックしてもカウントが止まることがわかると思います。
これで ポーズの実装ができました。
© 2023 tnantoka