1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| class Tour:
def __init__(self):
self.damage = 0
self.x = 900 + 75/2
self.y = 75/2
self.image = can.create_image(self.x, self.y, image=tour, anchor = CENTER)
self.DETECTION_CLIC_SUR_OBJET = False # on initialise la variable
can.bind( '<Button-1>', self.clic ) # associe clic sur can à fonction Clic de l'instance ( renvoie automatiquement en arguments : instance et evenement
can.bind('<Motion>',self.drag)
can.bind( '<Button-1>', self.drop )
def clic(self,event): # on recupere l'instance et l'evenement, avec self et event en nom de variable ( rappel : tu peux mettre ce que tu veux en nom de variable )
""" Gestion de l'événement Clic gauche """
# position du pointeur de la souris
X = event.x
Y = event.y
if self.DETECTION_CLIC_SUR_OBJET==False:
if self.x-75/2 <= X <= self.x+75/2 and self.y-75/2 <= Y <= self.y+75/2:
self.DETECTION_CLIC_SUR_OBJET = True
self.tour_a_deplacer=can.create_image(X, Y, image=tour, anchor = CENTER)
else:
self.DETECTION_CLIC_SUR_OBJET = False
def drag(self,event):
""" Gestion de l'événement bouton gauche enfoncé """
X = event.x
Y = event.y
if self.DETECTION_CLIC_SUR_OBJET == True:# limite de l'objet dans la zone graphique
if X < 0: X = 0
if X > largeur: X = largeur
if Y < 0: Y = 0
if Y > hauteur: Y = hauteur
can.coords (self.tour_a_deplacer,X,Y)
def drop(self, event):
X = event.x
Y = event.y
if self.DETECTION_CLIC_SUR_OBJET == True:
can.coords(self.tour_a_deplacer,X,Y)
self.DETECTION_CLIC_SUR_OBJET=False |
Partager