2023-06-18
以前使った カスタムペインター でdrawArc
を使えば円弧も描画できます。
これは Flame ではなく Flutter(dart:ui)の機能ですが。
サンプルゲームの color_wheel でも活用しています。
APIリファレンス https://api.flutter.dev/flutter/dart-ui/Canvas/drawArc.html基本はカスタムペインターと同じで、
paint
の中でdrawArc
を使います。
class MyPainter extends CustomPainter {
@override
void paint(Canvas canvas, Size size) {
final strokePaint = Paint()
..color = Colors.white
..style = PaintingStyle.stroke
..strokeWidth = 2;
canvas.drawArc(
const Rect.fromLTWH(
0,
0,
100,
100,
),
radians(0),
radians(90),
false,
strokePaint,
);
canvas.drawArc(
const Rect.fromLTWH(
100,
0,
100,
100,
),
radians(0),
radians(90),
true,
strokePaint,
);
}
@override
bool shouldRepaint(covariant CustomPainter oldDelegate) {
return false;
}
}
第 3 引数はsweepAngle
で描画する角度(終了角度ではありません),
第 4 引数のuseCenter
はtrue
にするとパスが閉じて扇形になります。
これで円弧が描画できました。
© 2023 tnantoka