Python 3.x 我如何提高海龟的速度?
我目前正在tkinter窗口中使用嵌入式海龟画布。直观地说,我所需要做的就是将我的turtle设置为turtle.RawTurtle(canvas),但有些函数不起作用,我不知道为什么Python 3.x 我如何提高海龟的速度?,python-3.x,turtle-graphics,tkinter-canvas,Python 3.x,Turtle Graphics,Tkinter Canvas,我目前正在tkinter窗口中使用嵌入式海龟画布。直观地说,我所需要做的就是将我的turtle设置为turtle.RawTurtle(canvas),但有些函数不起作用,我不知道为什么 t.clear();t.pu();t.speed(0);t.ht();t.tracer(0) 但我得到了一个错误: AttributeError: 'RawTurtle' object has no attribute 'tracer' 尽管如此,许多其他功能仍然可以工作,例如clear、penup、spee
t.clear();t.pu();t.speed(0);t.ht();t.tracer(0)
但我得到了一个错误:
AttributeError: 'RawTurtle' object has no attribute 'tracer'
尽管如此,许多其他功能仍然可以工作,例如clear、penup、speed和hideturtle
有没有办法禁用屏幕更新,直到绘图完成,然后使用RawTurtle手动更新画布?tracer()方法是turtle的屏幕方法,而不是turtle本身。若要访问它,当嵌入tkinter窗口下时,请将画布包裹在乌龟屏幕中:
screen = turtle.TurtleScreen(canvas)
t = turtle.RawTurtle(screen)
这将使您能够访问各种屏幕方法。然后,您应该能够使用screen.tracer(0)
关闭图形更新,并使用screen.update()
显示完成的图形。一个更完整的示例:
import tkinter as tk
import turtle
root = tk.Tk()
canvas = turtle.ScrolledCanvas(root)
canvas.pack(side=tk.LEFT)
screen = turtle.TurtleScreen(canvas)
t = turtle.RawTurtle(screen)
t.hideturtle()
# t.speed('fastest')
screen.tracer(0)
t.penup()
t.sety(-100)
t.pendown()
t.circle(100)
screen.update()
screen.mainloop()