turtle.tracer() 是做什么的?

cuo*_*.pq 2 python turtle-graphics python-turtle

我目前正在学习turtlePython中的模块。所以我在这个链接中阅读了tracer()的函数,但我还没有理解第n次常规屏幕更新实际上意味着什么。例如,如果我设置screen.tracer(0)screen.tracer(2, 100)他们实际做什么?

cdl*_*ane 6

乌龟最初是一个小型可编程物理机器人,它携带一支笔,可以在移动时追踪其路径。

来自https://compform.net/turtles

一般来说,计算机可以瞬时绘制图形。在屏幕上显示每个绘图更新,并减慢这些更新,以便我们可以看到它们,这就是海龟图形中的跟踪

该功能打开关闭tracer()自动屏幕更新(默认情况下打开),并设置延迟。在 Python 2 中,第一个参数是布尔值,用于打开自动屏幕更新,用于关闭自动屏幕更新。在Python 3中你仍然可以使用这种方式,这也是我最常用的方式。update()tracer()TrueFalsetracer()

在 Python 3 中,第一个参数n是一个数字。如果n为 0(零),则自动屏幕更新关闭。如果n为 1(一),则将发生默认的自动屏幕更新。这与 Python 2 模型相匹配。当自动更新关闭时,当您希望屏幕反映绘图的当前状态时,需要显式调用。update()

但在Python 3中,如果n大于1(一),那么只有每n次自动屏幕更新才会发生。如果n为 2,则只有每隔一个屏幕更新才会真正发生。然而,有一个故障:

正如我在tracer()经验法则中所讨论的,一些 Python 海龟图形操作会强制执行update()任何tracer()设置。因此,以及其他海龟基础,计算正确的nth设置n很容易出错。所以我的建议是坚持使用 Python 2 模型,并忽略此功能。

最后,第二个delay参数tracer()是在 后添加的时间延迟,update()以允许用户在其他内容更新之前看到更改。默认值为 10 毫秒,相当短。这与 类似turtle.speed(),但会影响所有事物,而不仅仅是单个海龟。