Einbetten von Schildkrötengrafiken in ein TK-Fenster

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Einbetten von Schildkrötengrafiken in ein TK-Fenster

by Guest » 30 Dec 2024, 20:08

Ich weiß, dass dies ein ziemlich häufiges Amateurproblem ist, also gehen Sie bitte vorsichtig mit mir um.
Im Grunde versuche ich, mein eigenes TK-Fenster für meine Schildkröte zu verwenden -Schnittstelle, damit ich Tk-Widgets zu meinem Turtle-Programm hinzufügen kann. Es ist ein sehr einfaches Programm, mit dem Sie mit dem Schildkrötenstift zeichnen können. Ich möchte jedoch eine Möglichkeit haben, die Zeichengeschwindigkeit anzupassen, und ich habe vor, dies mit TK-Schiebereglern zu tun. Bevor ich jedoch Schieberegler hinzufüge, stelle ich fest, dass die Schildkröte viel weniger reagiert und sich unregelmäßiger bewegt als ohne die benutzerdefinierte Tk-Einbettung. Wie kann ich die Bewegung der Schildkröte im Tk-Fenster optimieren?
Hier ist mein gesamtes Programm (vorerst ohne Schieberegler):

Code: Select all

import turtle as t
from tkinter import *

def move_forward():
pen.forward(1) # Eventually, I want to replace 1 with a .get() from movement slider

def move_back():
pen.back(1)

def left():
pen.left(1) # Similarly as above comment, with an angle slider

def right():
pen.right(1)

def up_down():
if pen.isdown():
pen.penup()
else:
pen.pendown()

win = Tk()
canvas = t.ScrolledCanvas(win)
canvas.pack()
screen = t.TurtleScreen(canvas)
pen = t.RawTurtle(canvas)
screen.listen()

screen.onkey(move_forward, "w")
screen.onkey(move_forward, "Up")
screen.onkey(move_back, "s")
screen.onkey(move_back, "Down")
screen.onkey(left, "a")
screen.onkey(left, "Left")
screen.onkey(right, "d")
screen.onkey(right, "Right")
screen.onkey(up_down, "p")

screen.mainloop()
Vielen Dank, dass Sie mein Problem gelesen (und möglicherweise beantwortet haben!)

Top