2

我试图让乌龟移动得更快,我通常会这样做

import turtle as t

t.speed(0)
t.tracer(0,0)

但是当我使用 RawTurtle() 将它放在画布中时,我不知道该怎么做。

root = tk.Tk() #create root window

#create turtle canvas
canvas = tk.Canvas(root,width=500,height=500)
canvas.pack()
t = turtle.RawTurtle(canvas)
t.ht()

这是我的代码。有谁知道怎么做?

4

2 回答 2

1

首先,要么做一个或另一个,而不是两者:

t.speed(0)
t.tracer(0,0)

speed(0)akaspeed('fastest')为您提供最快的绘图动画。tracer(0) 完全消除了绘图动画。它们不加在一起。

您可以使用海龟的包装器在嵌入的海龟中获得最大速度,即消除绘图动画:CanvasTurtleScreen()

import tkinter as tk
from turtle import TurtleScreen, RawTurtle

root = tk.Tk()
canvas = tk.Canvas(root, width=500, height=500)
canvas.pack()

screen = TurtleScreen(canvas)
screen.tracer(False)

turtle = RawTurtle(screen)

turtle.circle(100)

screen.tracer(True)
screen.mainloop()
于 2020-05-12T15:05:31.133 回答
-1

我对您的代码进行了一些编辑。对于初学者,您需要处理该t = turtle.RawTurtle(canvas)行之后的所有命令。然后你需要.mainloop()在最后添加一个函数。

这将是您的最终代码:

import tkinter as tk
root = tk.Tk() #create root window
import turtle
#create turtle canvas
canvas = tk.Canvas(root,width=500,height=500)
canvas.pack()
t = turtle.RawTurtle(canvas)
t.speed(1)
t.forward(100)
t.ht()
root.mainloop()

当速度设置为 1 时,输出如下: 输出

当速度设置为 0 时,这是输出: 输出 2

对不起,GIF,希望这有帮助!

于 2020-05-11T17:01:49.503 回答