首页 > 解决方案 > 有没有办法让海龟以特定的速度(不是整数)移动?

问题描述

我正在做一个项目,其中不同的海龟围绕椭圆形轨道比赛,但我将它们与在轨道上移动所需的实际世界纪录时间进行比较。因此,我正在寻找一种方法让海龟以更特定的速度移动。我已经完成了turtle.speed(),但它只需要整数值。也许是一种让他们每秒移动一定数量的像素的方法?谢谢!

标签: pythonturtle-graphicspython-turtle

解决方案


我们可以关闭动画并使用定时器事件来控制海龟的速度。在下面的示例中,海龟以大约每秒 100 个像素的速度移动(即每 50 毫秒 5 个像素):

from turtle import Screen, Turtle

screen = Screen()
screen.tracer(False)

turtle = Turtle('turtle')

def move():
    if turtle.xcor() < screen.window_width()/2:
        turtle.forward(5)  # move forward 5 pixels
        screen.update()
        screen.ontimer(move, 50)  # repeat in 50 milliseconds

move()

screen.exitonclick()

可以对其他海龟进行编程,使其在同一程序中以不同的速率移动。


推荐阅读