Bonjour,
Voici comment je comprends votre question:
- En utilisant Tkinter, quelle commande me permet de détecter une collision entre 2 objets sur un canvas?
Pour Tkinter collision = recouvrement(overlapping)
Voici une proposition de code qui vous aidera peut-être:
# -*- coding: ISO-8859-15 -*-
from tkinter import *
from time import sleep
Ecran = Tk()
Grille = Canvas(Ecran, width = 400, height = 400)
Grille.pack()
barre = Grille.create_rectangle(10, 0, 20, 100, fill = "blue")
balle = Grille.create_oval(100, 100, 120, 120, fill = "red")
print ("ID barre =", barre, "Id balle =", balle)
print ("coordonnées barre", Grille.coords(barre))
print ("coordonnées balle", Grille.coords(balle))
Ecran.update()
sleep(1)
#Déplacement de la barre
Grille.move(barre, 0,50)
#Déplacement de la balle
Grille.move(balle, -70,0)
Ecran.update()
sleep(1)
print(Grille.find_overlapping(*Grille.coords(barre)))
print("ObectID 1 n'a aucun recouvrement")
Ecran.update()
sleep(1)
#Déplacement de la balle
Grille.move(balle, -10,0)
print(Grille.find_overlapping(*Grille.coords(barre)))
print("ObectID 2 est en recouvrement avec ObjectID 1")
Ecran.mainloop()
dans la commande Grille.find_overlapping(*Grille.coords(barre)) l'astérisque indique que les 4 paramètres de coordonnées sont contenus dans une liste
--