2023-05-01
Flame で何もない画面を動かすところまでです。
公式ドキュメントのチュートリアルにも同様の内容があります。
公式ドキュメント https://docs.flame-engine.org/latest/tutorials/bare_flame_game.htmlFlutter の導入手順はたくさん日本語情報があるので割愛します。
公式ドキュメントも丁寧です。
個人的には以下の手順がおすすめです。
Flutter に詳しくなくても Flame をとりあえず使うことはできるので(僕もそう)、
ひとまずWrite your first Flutter appをやる程度で OK だと思います。
dependencies
にflame
を追加して、pub get
するだけです。
なお、pub.devからflame: ^1.14.0
という文字列がコピーできます。
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.2
flame: ^1.14.0
Flame のゲームは Flutter の Widget になっています。 以下のように使います。
渡しているgame
は次で説明するFlameGame
です。
GameWidget(game: game)
game
以外の引数は API リファレンスに載っています。overlayBuilderMap
はよく使うと思います。
FlameGame
がゲームの実態です。
これを継承してゲームを作っていきます。
今回は何もしないのでただ継承するだけです。
import 'package:flame/game.dart';
class HelloGame extends FlameGame {
@override
Future<void> onLoad() async {
super.onLoad();
}
}
API リファレンスはこちらです。
APIリファレンス https://pub.dev/documentation/flame/latest/game/FlameGame-class.html先程作ったHelloGame
をGameWidget
に渡して動かします。
import 'package:flutter/material.dart';
import 'package:flame/game.dart';
import 'game.dart';
class HelloPage extends StatelessWidget {
HelloPage({super.key});
final game = HelloGame();
@override
Widget build(BuildContext context) {
return GameWidget(game: game);
}
}
$ flutter run
これで動きました。 右の Live Demo エリアに表示されています。
現状は真っ黒なのでわかりづらいですが、 四角形では四角形を描画するのでもう少し Live Demo 感があります。
© 2023 tnantoka