1
Dites que j'ai des objets dans le canevas avec des balises 'stopped'
et 'flying'
.Comment vérifier si deux objets se chevauchent dans un widget Canvas?
Comment vérifier si l'un de ces objets se chevauche?
Dites que j'ai des objets dans le canevas avec des balises 'stopped'
et 'flying'
.Comment vérifier si deux objets se chevauchent dans un widget Canvas?
Comment vérifier si l'un de ces objets se chevauche?
Vous pouvez utiliser la méthode find_overlapping
find_overlapping(x1, y1, x2, y2)
=>tuple
Returns a tuple of all items that overlap the given rectangle, or that are
complètement fermé par elle.
Ensuite, parcourez la liste de résultats à la recherche de votre balise.
Droit! Et puis si tuple> 0, alors quelque chose se chevauche! Pardonnez mon incompétence, comment insérer les coordonnées x1, y1, x2, y2 de chacun des objets marqués? –
vous pouvez faire défiler vos objets ou tags et faire une bbox. Cela vous donnera les coordonnées –
fonctionne, merci! falling = canvas.find_withtag ('falling') stopped = canvas.find_withtag ('stop') pour f en train de tomber: pour s en stop: if (canvas.bbox (f) [3] == canvas. bbox (s) [1]) et (canvas.bbox (f) [0] == canvas.bbox (s) [0]): canvas.itemconfigure ('falling', tag = 'arrêté') –