Ich bin ein Neuling mit Python 3.2.3Python Schildkröte für turtle.tracer aktualisiert Zeichnung (0,0)
Wenn ich das Modul in der Python IDLE lief, zog die Schildkröte, die ein Quadrat ohne Update auf dem Bildschirm , so erschien das Fenster leer, und nachdem ich einen beliebigen Schlüssel eingegeben hatte, erschienen die Schildkröte und das Quadrat aufgrund des Aufrufs von turtle.update().
Wenn ich jedoch zweimal auf die .py-Datei klickte, die den folgenden Code in meinem Dokument speicherte und direkt ausführte, tauchte das Quadrat immer auf, bevor ich einen Schlüssel eingab.
Der interessante Teil ist, dass die Schildkröte nicht gezeigt wurde, aber nur das Quadrat wurde gezeigt.
Es scheint, dass es ein Turtle Update nur für das Quadrat nach dem Zeichnen gab, auch wenn ich Turtle Tracer bereits auf (0,0) gesetzt hatte.
Ist dies ein Fehler und wie kann ich es lösen? Danke für die Hilfe.
import turtle
def drawSquare():
turtle.down();
turtle.begin_fill();
turtle.goto(10, 0);
turtle.goto(10, 10);
turtle.goto(0, 10);
turtle.goto(0, 0);
turtle.end_fill();
turtle.up();
def tUpdate():
turtle.update();
turtle.tracer(0,0);
drawSquare();
input("Not updated. Press any key.");
tUpdate();
print("Updated");
turtle.mainloop();
Es funktioniert. Die Erklärungen haben viele Konzepte klarer gemacht. Vielen Dank für Ihre Antwort! – eaglebrain
Es gibt immer noch etwas, was ich nicht verstehe. Wie ich bereits erwähnt habe, wurde die Schildkröte nicht gezeigt, aber nur das Quadrat wurde angezeigt, als ich den alten Code direkt ausführte. Offensichtlich können die von end_fill() und up() verursachten Aktualisierungen nur die "Zeichnung" aktualisieren. Warum? – eaglebrain
@dazedbrain, ich verstehe und ich stimme zu, es ist verwirrend. Ich kann nur vermuten, dass die Art der ** Füllung ** sich wesentlich von der ** Zeichnung ** unterscheidet und das Ergebnis, das wir sehen, beeinflusst. – cdlane