Turtle.screen, "onkeypress" ne fonctionne pas
Résolu
Haspic
Messages postés
40
Date d'inscription
Statut
Membre
Dernière intervention
-
Haspic Messages postés 40 Date d'inscription Statut Membre Dernière intervention -
Haspic Messages postés 40 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'essaie de faire en sorte que lorsque j'appuie sur la barre espace, il m'ajoute 1 au score "space" or cela ne marche pas du tout. Si j'utilise "onclick" par contre là ça marche..
voici le code:
j'essaie de faire en sorte que lorsque j'appuie sur la barre espace, il m'ajoute 1 au score "space" or cela ne marche pas du tout. Si j'utilise "onclick" par contre là ça marche..
voici le code:
import turtle
setup = turtle.Turtle()
mouse = turtle.Screen()
score = 0
setup.penup()
setup.speed(0)
setup.right(90)
setup.goto(-300, 300)
for a in range(5):
setup.write("[Upgrade]")
setup.forward(50)
setup.forward(200)
setup.write(score)
setup.hideturtle()
def whereClick(x, y):
#print("x=", int(x) ,"/","y=", int(y))
if -300<=int(x)<=-255 and 300<=int(y)<=312 :
print("Element 1 upgraded !")
if -300<=int(x)<=-255 and 250<=int(y)<=262 :
print("Element 2 upgraded !")
if -300<=int(x)<=-255 and 200<=int(y)<=212 :
print("Element 3 upgraded !")
if -300<=int(x)<=-255 and 150<=int(y)<=162 :
print("Element 4 upgraded !")
if -300<=int(x)<=-255 and 100<=int(y)<=112 :
print("Element 5 upgraded !")
def space():
global score
score += 1
print(score)
mouse.listen
mouse.onclick(whereClick)
mouse.onkeypress(space, "space")
while True:
mouse.update()
turtle.done()
5 réponses
Bonjour Haspic,
Réaffiche ton code avec les balises de code:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Réaffiche ton code avec les balises de code:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
c'est ce que j'ai fait pourtant..
import turtle setup = turtle.Turtle() mouse = turtle.Screen() score = 0 setup.penup() setup.speed(0) setup.right(90) setup.goto(-300, 300) for a in range(5): setup.write("[Upgrade]") setup.forward(50) setup.forward(200) setup.write(score) setup.hideturtle() def whereClick(x, y): #print("x=", int(x) ,"/","y=", int(y)) if -300<=int(x)<=-255 and 300<=int(y)<=312 : print("Element 1 upgraded !") if -300<=int(x)<=-255 and 250<=int(y)<=262 : print("Element 2 upgraded !") if -300<=int(x)<=-255 and 200<=int(y)<=212 : print("Element 3 upgraded !") if -300<=int(x)<=-255 and 150<=int(y)<=162 : print("Element 4 upgraded !") if -300<=int(x)<=-255 and 100<=int(y)<=112 : print("Element 5 upgraded !") def space(): global score score += 1 print(score) mouse.listen mouse.onclick(whereClick) mouse.onkeypress(space, "space") while True: mouse.update() turtle.done()
De toutes façon, dès que tu clique 'valider', le code apparait forcément balisé dans ton message: tu le vois de suite si c'est fait ou pas …
Je ne connais pas bien Turtle, mais ce ne serait pas onkey au lieu de onkeypress ?
Et comme dans tout truc graphique, il ne manquerait pas une boucle d'attente des évènements à la fin, du genre turtle.mainloop() ?
Et comme dans tout truc graphique, il ne manquerait pas une boucle d'attente des évènements à la fin, du genre turtle.mainloop() ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question