Python-Turtle-Grafik-Tastatur-Befehle
Jemand irgendeinen Einblick in die Steuerung turtle-Grafik mit python 2.7 mit Tastatur-Befehlen? Ich getan haben umfangreiche Forschung auf dieser website, und andere und das Gefühl, ich bin das richtige zu tun, aber es will einfach nicht funktionieren bei mir. Unten ist was ich habe, so weit, kann mir jemand sagen, wo ich falsch??????
from turtle import *
turtle.setup(500, 500)
wn = turtle.Screen()
wn.title("Turtle Keys")
move = turtle.Turtle()
showturtle()
def k1():
move.forward(45)
def k2():
move.left(45)
def k3():
move.right(45)
def k4():
move.back(45)
wn.onkey(k1, "Up")
wn.onkey(k2, "Left")
wn.onkey(k3, "Right")
wn.onkey(k4, "Down")
wn.listen()
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie die angegebene importieren * Sie brauchen keine Schildkröte., auch Sie haben zu verwenden mainloop() Lesen (endlos-Schleife) zu beobachten, über user-Interaktionen, in deinem Beispiel wn ist auch unnötig.
Hier ist der funktionierende code...
move = Turtle(); showturtle()
als es erklärt, warum dies bewirkt, dass zwei Schildkröten, um zu zeigen, auf dem Bildschirm statt. Und IhreScreen()
nennen, nichts hinzufügt. Wie vernünftig, wie ich glaube, es istimport turtle *
, da es für Einsteiger gedacht ist, empfehle ich einen alternativen Ansatz in meiner Antwort zu vermeiden, die diese Arten von Fehlern.Ich habe gerade vor kurzem kam mit dieser. Hoffe, es hilft!
Fand ich, dass mit dem code oben und mein Beispiel code, der Tastendrücke wurden nicht registriert, bis ich klickte auf das Fenster. In meinem Beispiel, die Schildkröte bewegen würde, aber die Links - /rechts-Aktion würde nicht auftreten, bis ich klickte auf das Fenster.
Wenn Sie Befehle wie diese:
Sie reden eigentlich von zwei verschiedenen Schildkröten, dein turtle-Objekt in der 'verschieben' und die Standard Schildkröte. Die meisten der Bildschirm und die Standard-turtle-Methoden können aufgerufen werden, ohne eine explizite Objekt, wie Sie sind, auch top-level-Funktionen. Um Verwirrung zu vermeiden, empfehle ich Ihnen immer import-Schildkröte auf diese Weise:
ausdrücklich und erstellen Sie Ihre eigene Schildkröte(s) und Bildschirm-Objekt. Diese Weise werden Sie nicht in der Lage, um die alternative functiions und nicht Durcheinander. Dein Beispiel umgeschrieben, mit den oben genannten Bedenken: