ポリゴン

2023-05-04

PolygonComponent

多角形にはPolygonComponentを使います。

relativeファクトリーとparentSizeを使うことでサイズを可変にできて便利です。

公式ドキュメント https://docs.flame-engine.org/latest/flame/components.html#polygoncomponent
APIリファレンス https://pub.dev/documentation/flame/latest/geometry/PolygonComponent-class.html

描画する

PolygonComponent.relativeを使って-1〜1 の範囲でポリゴンを指定し、 parentSize でサイズを決めています。

import 'package:flame/components.dart';
import 'package:flame/game.dart';

class PolygonGame extends FlameGame {
  @override
  Future<void> onLoad() async {
    super.onLoad();

    await add(
      PolygonComponent.relative(
        [
          Vector2(0, -1),
          Vector2(1, -1),
          Vector2(0, 1),
          Vector2(-1, 1),
        ],
        parentSize: Vector2.all(64),
        position: Vector2(size.x * 0.5, size.y * 0.5),
        anchor: Anchor.center,
      ),
    );
  }
}

これで平行四辺形が画面中央に表示されます。

© 2023 tnantoka