Bonjour!
existe t il dans Tkinter pour les Canvas une commande qui permet de verifier si un point appartient a une forme ( carré, cercle, ect ) et une command qui permet de savoir si 2 formes se touches??
Merci
+
Bonjour!
existe t il dans Tkinter pour les Canvas une commande qui permet de verifier si un point appartient a une forme ( carré, cercle, ect ) et une command qui permet de savoir si 2 formes se touches??
Merci
+
Tu dois tester les coordonnées des objets je pense.
Tu ajoutes les coordonnées du centre de l'objet à la dimension de l'objet et ce pour chacun des objets, et tu détectes les collision lorsque 2 "bords" ont les mêmes coordonnées.
Mais n'existerait il pas une command qui le face?
il y a bien find_closest pour trouver la reference du dessin le plus proche
je me disais donc qu'il doit surment en exister une pour la colision
parceque avec ta technique sa fait des calcul long qui ralentissent le programme
+
Bah pour chaque élément tu fais le find_closest et si la distance les séparant (avec la "largeur des objets") est nulle, il y a collision, c'est exactement ce que je disais.
Après reste à implémenter intelligement et à mettre un nom sur chaque fonction qu'il faut utiliser !
En gros, ça donnerait :
En gros, pas testé, première approche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 for obj in canvas.find_all(): nearest = can.find_closest(obj) if canvas.coords(obj) == canvas.coords(nearest): print "collision"
Après, il faut affiner et vérifier que c'est bien fonctionnel. (notament au niveau du test d'égalité des coordonées qui là s'appuie sur un seul point et non une surface)
merci
je regarde a tout sa est si c'est bon ba c'est cool
+
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager