<RIGHT> klappt bei mir wunderbar, aber <LEFT> funktioniert garnicht, egal ob kurz drücken oder gedrückt halten.
Woran kann denn sowas liegen wenns beim einen klappt und beim anderen nicht? am betriebsystem? an der python version?
edit:
gerade wo gelesen das IDLE und Tkinter sich nicht so mögen, ich werds mal anders probieren das programm zu starten (erstmal rausfinden wie :>)
Problem mit coords
Bei mir geht es sowohl über IDLE als auch die python.exe. Probier doch mal das folgende:
Dann kann man schon mal feststellen, ob es an deinem Code liegt.
Code: Alles auswählen
def vorwaerts(event):
Mario.go_forward(environment_list)
def rueckwaerts(event):
Mario.go_forward(environment_list)
Naja, dann werd ich noch ne Nacht drüber schlafen und wenn ichs dann noch nicht rausbekomme mach ich hald an ner anderen stelle weiter, vlt ne jump() und ne fall() methode und wenn ich den code mal testen will schick ich ihn einfach an dich :>
Das Problem ist mit Sicherheit der Koordinatenvergleich mittels '=='.
Da die Canvas-Koordinaten intern als Fließkommawerte verarbeitet werden, solltest du es z.B. so machen:
statt
so
Und dann MUSS es einfach gehen ...
Da die Canvas-Koordinaten intern als Fließkommawerte verarbeitet werden, solltest du es z.B. so machen:
statt
Code: Alles auswählen
if wert1 == wert2: do_something()
Code: Alles auswählen
if abs(wert1-wert2)<0.001: do_something()
Vielleicht sollte man an dieser Stelle auch mal überlegen die GUI von der Spiellogik zu trennen und nicht Canvaskoordinaten verwenden. Wenn da wirklich Ungenauigkeiten beim `move()` auf dem `Canvas` entstehen, kann es ja auch sein, dass die sich im Laufe des Spiels immer weiter akkumulieren und auch irgendwann ein Vergleich mit einem Epsilonwert nicht mehr richtig funktioniert.