how can i freely draw any shape (circle,rectangle,etc) on screen with finger tips or mouse in flutter flame

37 views Asked by At

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

0

There are 0 answers