2023-05-26
以前も使った エフェクト の 1 つであるGlowEffect
を使うと、コンポーネントを発光させることができます。
なお、このエフェクトは以下の注意書きがあり、今後 API が変更される可能性があるようです。
ここではバージョン1.14.0
で動作することを確認しています。
This effect is currently experimental, and its API may change in the future.
CircleComponent
にGlowEffect
を追加しています。
infinite
を設定することでエフェクトを繰り返します。
また、reverseDuration
で逆再生する際の秒数を設定しています。
import 'package:flame/components.dart';
import 'package:flame/effects.dart';
import 'package:flame/game.dart';
import 'package:flame/palette.dart';
class GlowGame extends FlameGame {
@override
Future<void> onLoad() async {
super.onLoad();
final circle = CircleComponent(
position: Vector2(size.x * 0.5, size.y * 0.5),
radius: 100,
anchor: Anchor.center,
paint: BasicPalette.white.paint(),
);
await add(circle);
final effect = GlowEffect(
30.0,
EffectController(
duration: 3,
reverseDuration: 3,
infinite: true,
),
);
circle.add(effect);
}
}
これで発光表現ができました。
© 2023 tnantoka