from tkinter import *
import time
alien = Tk()
alien.title("Alien")
c = Canvas(alien, height=300, width=400)
c.pack()
body = c.create_oval(100, 150, 300, 250, fill="green")
eye = c.create_oval(170, 70, 230, 130, fill="white")
eyeball = c.create_oval(190, 90, 210, 110, fill="black")
mouth = c.create_oval(150, 220, 250, 240, fill="red")
neck = c.create_line(200, 150, 200, 130)
hat = c.create_polygon(180, 75, 220, 75, 200, 20, fill="blue")
def mouth_open():
c.itemconfig(mouth, fill="black")
def mouth_close():
c.itemconfig(mouth, fill="red")
def blink():
c.itemconfig(eye, fill="green")
c.itemconfig(eyeball, state=HIDDEN)
def unblink():
c.itemconfig(eye, fill="white")
c.itemconfig(eyeball, state=NORMAL)
def steal_hat():
c.itemconfig(hat, state=HIDDEN)
c.itemconfig(words, text="GIVE ME MY HAT BACK")
def burp():
mouth_open()
c.itemconfig(words, text="Burp!!!")
time.sleep(1)
c.itemconfig(words, text="I'm an alien!")
mouth_close()
def blink2():
blink()
time.sleep(1)
unblink()
def eye_control(event):
key = event.keysym
if key == "Up":
c.move(eyeball, 0, -1)
elif key == "Down":
c.move(eyeball, 0, 1)
elif key == "Left":
c.move(eyeball, -1, 0)
elif key == "Right":
c.move(eyeball, 1, 0)
c.bind_all('<Key>', eye_control)
words = c.create_text(200, 280, text="I'm an alien!")
window = Tk()
window.title("Options")
btnBlink = Button(window, text="blink", command=blink2)
btnBlink.pack()
alien.mainloop()
window.mainloop()
J'ai fait un étranger et je veux faire de l'utilisateur soit en mesure de voler le chapeau de l'étranger, faire le burp étranger, faire un clin étranger et être capable de déplacer les globes oculaires de l'étranger. Jusqu'à présent, je l'ai fait en mesure de contrôler ses globes oculaires, mais le clignotement ne fonctionne pas. J'ai enlevé le time.sleep (1) dans la définition pour blink2 mais cela ne change vraiment rien. Comment je pourrais faire clignoter l'extraterrestre. Toute aide sera grandement appréciée.Essayer de faire une image d'un clignement étranger avec un bouton ne fonctionne pas
Vous avez fait une petite erreur en essayant de passer le 'unblink' comme un rappel. Supprimez simplement les parenthèses redondantes. – CommonSense
@CommonSense, vous avez raison - une erreur de débutant! – SneakyTurtle
Merci pour l'aide. –