bonjour à tous
j'ai un petit programme qui dessine des forme géométriques sur un canvas, j'ai fait en sorte qu'on puisse déplacer sur l'écran ces formes (cliquer sur la forme et l déplacer avec la souris)
là je suis entrain de le tester avec un cercle.
voici le code qui le fait :
le problème est lorsque je clique la première fois sur l'objet il se déplace d'abord en rajoutant la valeur du rayon du cercle à ses coordonnées pour qu'en suite il suit le déplacement de la souris, donc il y a un décalage entre le pointeur de la souris et l'endroit du cercle sur lequel j'ai cliqué
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 def drawcircle(canvas,x,y,rad,cercleColor): cercle = canvas.create_oval(x-rad,y-rad,x+rad,y+rad,width=0,fill=cercleColor) def deplacer(event): cercle = canvas.find_withtag("current")[0] souris = canvas.find_closest(event.x, event.y) canvas.move(cercle, event.x-canvas.coords(souris[0])[0] ,event.y-canvas.coords(souris[0])[1])
j'aimerai donc récupérer le rayon du cercle pour le soustraire dès le début aux coordonnées.
où si vous avez une meilleur idée pour que le cercle suit directement le mouvement de la souris, je suis preneur.
voila, merci pour vos réponses![]()
Partager