2023-05-03
これまでは単色の四角や円のみを使ってきましたが、そろそろ画像を表示したくなってきました。 そんなときに使うのがスプライトです。
SpriteComponentもPositionComponentの子なので基本的な使い方はこれまでと変わりません。
spriteにSprite.loadした結果を指定することで、画像を表示することができます。
事前準備としてassets/images/にasteroid.pngという画像を入れておきます。
画像を使えるようにpubspec.yamlに設定します。
assets:
- assets/images/
これで準備は OK なので、SpriteComponentを使います。
Sprite.loadで先程の画像を読み込み、SpriteComponentのspriteに指定しています。
import 'package:flame/components.dart';
import 'package:flame/game.dart';
class SpriteGame extends FlameGame {
@override
Future<void> onLoad() async {
super.onLoad();
final sprite = await Sprite.load('asteroid.png');
await add(
SpriteComponent(
position: Vector2(size.x * 0.5, size.y * 0.5),
anchor: Anchor.center,
sprite: sprite,
),
);
}
}
これで画面中央に画像が描画されます。
© 2023 tnantoka