2023-05-25
SpriteSheet
を使うと、スプライトシート画像を読み込むことができます。
読み込んだ後は、行や時間を指定してアニメーションやスプライトを作れます。
事前準備としてassets/images/
にpower-up.png
という画像を入れておきます。
あとは、この画像を読み込みSpriteSheet
を作成。
SpriteSheet
のcreateAnimation
で作成したアニメーションをSpriteAnimationComponent
に指定すれば OK です。
for
で 1 行目と 2 行目をそれぞれ表示しています。
import 'package:flame/components.dart';
import 'package:flame/game.dart';
import 'package:flame/sprite.dart';
class SpriteSheetGame extends FlameGame {
@override
Future<void> onLoad() async {
super.onLoad();
final image = await images.load('power-up.png');
final spritesheet = SpriteSheet(
image: image,
srcSize: Vector2.all(16),
);
for (var i = 0; i < 2; i++) {
await add(
SpriteAnimationComponent(
animation: spritesheet.createAnimation(row: i, stepTime: 0.5),
position: Vector2(
size.x * 0.5,
size.y * 0.4 + (i * 100),
),
anchor: Anchor.center,
size: Vector2.all(64),
),
);
}
}
}
これでアニメーションと同様のアニメーションが作成できました。
© 2023 tnantoka