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