如何降低 Turtle 的速度 - Python
How to Slow Speed of Turtle - Python
这似乎是一个容易回答的问题;
t.speed(1)
。但是,我想知道如何降低小于 1. 0 的速度是行不通的,因为它是乌龟可以走的最快速度。在我的编译器中(我不确定你的编译器),当我尝试使用 0.1 时,它四舍五入为 0 并且速度很快。这是您需要了解的代码部分:
import turtle
import random
... ...
artificial_players = [];
for i in range(2):
_player = turtle.Turtle();
_player.speed(1);
_player.color('red');
_player.shape('circle');
... ...
artificial_players.append(_player);
for i in artificial_players:
... ...
turtle.speed()
方法的源码将所有没有计算在内的值全部转化为整数,所以没有办法直接输入浮点数来处理速度,包括1以下的整数
可以使用映射到特定整数值的字符串来设置速度。
speeds = {'fastest':0, 'fast':10, 'normal':6, 'slow':3, 'slowest':1 }
如果提供的速度值为None
,则turtle
以当前速度进行。
if speed is None:
return self._speed
如果给定的速度值在 speeds
的字典中,则该字符串映射 returns 使用的整数值。
if speed in speeds:
speed = speeds[speed]
如果提供的值是 0.5 到 10.5 之间的浮点数,那么 turtle
无论如何都会对其进行四舍五入。
elif 0.5 < speed < 10.5:
speed = int(round(speed))
对于任何其他值,turtle
自动认为速度已达到最大值。
else:
speed = 0
参考文献:
从技术上讲,我们不能用给定的 API 进一步降低个体 turtle 的速度,但我们 可以 使用它的 delay()
方法尽可能地减慢 屏幕 的速度:
from turtle import Screen, Turtle
screen = Screen()
turtle = Turtle()
turtle.speed('slowest')
screen.delay(100) # try code with and without this line
turtle.circle(175)
screen.exitonclick()
delay()
的参数是要添加到每次更新的延迟毫秒数。
这似乎是一个容易回答的问题;
t.speed(1)
。但是,我想知道如何降低小于 1. 0 的速度是行不通的,因为它是乌龟可以走的最快速度。在我的编译器中(我不确定你的编译器),当我尝试使用 0.1 时,它四舍五入为 0 并且速度很快。这是您需要了解的代码部分:
import turtle
import random
... ...
artificial_players = [];
for i in range(2):
_player = turtle.Turtle();
_player.speed(1);
_player.color('red');
_player.shape('circle');
... ...
artificial_players.append(_player);
for i in artificial_players:
... ...
turtle.speed()
方法的源码将所有没有计算在内的值全部转化为整数,所以没有办法直接输入浮点数来处理速度,包括1以下的整数
可以使用映射到特定整数值的字符串来设置速度。
speeds = {'fastest':0, 'fast':10, 'normal':6, 'slow':3, 'slowest':1 }
如果提供的速度值为None
,则turtle
以当前速度进行。
if speed is None:
return self._speed
如果给定的速度值在 speeds
的字典中,则该字符串映射 returns 使用的整数值。
if speed in speeds:
speed = speeds[speed]
如果提供的值是 0.5 到 10.5 之间的浮点数,那么 turtle
无论如何都会对其进行四舍五入。
elif 0.5 < speed < 10.5:
speed = int(round(speed))
对于任何其他值,turtle
自动认为速度已达到最大值。
else:
speed = 0
参考文献:
从技术上讲,我们不能用给定的 API 进一步降低个体 turtle 的速度,但我们 可以 使用它的 delay()
方法尽可能地减慢 屏幕 的速度:
from turtle import Screen, Turtle
screen = Screen()
turtle = Turtle()
turtle.speed('slowest')
screen.delay(100) # try code with and without this line
turtle.circle(175)
screen.exitonclick()
delay()
的参数是要添加到每次更新的延迟毫秒数。