I am trying to draw free hand circle on screen, i didn't find any way to do so in flutter flame. I am using flame: ^1.15.0;
I try panDector but unable to get expected result
import 'dart:async';
import 'dart:ui';
import 'package:catcher/components/level.dart';
import 'package:catcher/config.dart';
import 'package:flame/components.dart';
import 'package:flame/events.dart';
import 'package:flame/game.dart';
import 'package:flutter/material.dart';
import 'package:catcher/components/level.dart';
import 'package:catcher/config.dart';
import 'package:flame/components.dart';
import 'package:flame/events.dart';
import 'package:flame/game.dart';
import 'package:flutter/material.dart';
class Catcher extends FlameGame with PanDetector {
late CameraComponent cam;
List<String> levelNames = [
'level-01',
'level-02',
];
int currentLevelIndex = 0;
List<Vector2> points = [];
@override
FutureOr<void> onLoad() async {
await images.loadAllImages();
_loadLevel();
return super.onLoad();
}
void _loadLevel() {
Level world = Level(levelName: levelNames[currentLevelIndex]);
cam = CameraComponent.withFixedResolution(
world: world, width: gameWidth, height: gameHeight);
cam.viewfinder.anchor = Anchor.topLeft;
addAll([cam, world]);
}
@override
void render(Canvas canvas) {
// Render the path
if (points.length > 1) {
// Draw shape using points
Path path = Path();
path.moveTo(points[0].x, points[0].y);
for (int i = 1; i < points.length; i++) {
path.lineTo(points[i].x, points[i].y);
}
canvas.drawPath(path, Paint()..color = Colors.black);
}
super.render(canvas);
}
@override
void onPanUpdate(DragUpdateInfo info) {
points.add(info.eventPosition.global);
super.onPanUpdate(info);
}
}`
here in this code i try to draw path using the list of vector2 but it does not show any shape on the screen