2016-12-15 2 views
0

Je suis novice en python et j'essaie de faire un jeu où un objet se déplace vers la gauche/droite en fonction des touches fléchées du clavier. J'ai vu différentes méthodes pour faire ceci en important la tortue, la malédiction, etc., mais comment fais-je ceci using seulement win.getKey()?python graphiques win.getKey() fonction?

Jusqu'à présent, j'ai, mais il ne fonctionne pas:

while True: 
    k = win.checkKey() 
    if k == 'Left': 
     object.move(-dx, dy) 
    elif k == 'Right': 
     object.move(dx, dy) 
    elif k == 'period': 
     break 
+0

la prochaine fois, décrivez ce que vous voulez dire "ça ne marche pas" parce que ce petit texte est inutile pour nous (et nous ne pouvons pas lire dans votre esprit). Si vous obtenez un message d'erreur lorsque vous exécutez la console, mettez en question le message d'erreur complet (Traceback). – furas

Répondre

0

Puisque vous ne fourni un fragment de code, je vais faire quelques suppositions quant à ce qu'un MCVE pourrait ressembler pour cette question:

from graphics import * 

win = GraphWin("My Test", 100, 100) 

my_object = Circle(Point(50, 50), 10) 

my_object.draw(win) 

dx, dy = 10, 0 

while True: 
    k = win.checkKey() 

    if k == 'Left': 
     my_object.move(-dx, dy) 
    elif k == 'Right': 
     my_object.move(dx, dy) 
    elif k == 'period': 
     break 

win.close() 

Si cela est correct, alors le code fonctionne très bien sur mon système. Assurez-vous de cliquer sur la fenêtre graphique qui apparaît avant de taper afin de ne pas taper sur la console mais plutôt sur la fenêtre graphique qui attend les touches fléchées.

De même, évitez de redéfinir les noms prédéfinis Python tels que object. Cela n'a pas affecté l'exemple dans ce cas mais c'est quelque chose à surveiller lorsque les choses ne fonctionnent pas comme prévu.