Python 海龟屏幕。跟踪器(0)不';不要停止所有动画
我认为使用Screen.tracer(0)可以禁用Python海龟图形中的动画。但是,在下面的程序中,如果您注释掉Python 海龟屏幕。跟踪器(0)不';不要停止所有动画,python,animation,turtle-graphics,Python,Animation,Turtle Graphics,我认为使用Screen.tracer(0)可以禁用Python海龟图形中的动画。但是,在下面的程序中,如果您注释掉screen.update(),仍然会出现一些动画-海龟的踪迹会被画出来,尽管海龟不会“移动”(或被更新)。请问这里发生了什么事?有没有办法使屏幕更新完全手动 import turtle def move(): my_turtle.forward(1) my_turtle.right(1) screen.update() # Comment out thi
screen.update()
,仍然会出现一些动画-海龟的踪迹会被画出来,尽管海龟不会“移动”(或被更新)。请问这里发生了什么事?有没有办法使屏幕更新完全手动
import turtle
def move():
my_turtle.forward(1)
my_turtle.right(1)
screen.update() # Comment out this line to see issue.
screen.ontimer(move, 10)
screen = turtle.Screen()
my_turtle = turtle.Turtle()
my_turtle.shape("turtle")
screen.tracer(0)
move()
turtle.done()
不,屏幕。跟踪器(0)不会停止所有动画。一些turtle命令,如end\u fill()
直接调用screen.update()
,一些命令,如dot()
调用它是因为它们依次调用了其他方法。您仅在调用update()
时通知系统,而不是完全控制它
将您的update()
调用放在您认为需要的地方,不要假设某些方法强制更新,否则海龟的未来更新可能会破坏您的代码。(也就是说,可能有人真的在修理乌龟。)
有关可能有用的详细信息,请参阅我的和有关否屏幕的信息。跟踪器(0)不会停止所有动画。一些turtle命令,如end\u fill()
直接调用screen.update()
,一些命令,如dot()
调用它是因为它们依次调用了其他方法。您仅在调用update()
时通知系统,而不是完全控制它
将您的update()
调用放在您认为需要的地方,不要假设某些方法强制更新,否则海龟的未来更新可能会破坏您的代码。(也就是说,可能有人真的在修理乌龟。)
有关可能有用的详细信息,请参阅我的和有关turtle.py中的的信息,
forward()
调用\u go(),它设置端点,然后调用\u goto()
_如果线段超过42,goto()将创建一条新线
if len(self.currentLine) > 42: # 42! answer to the ultimate question
# of life, the universe and everything
self._newLine()
该值似乎是任意的;您可以将其设置为更高的值,但是会出现暂停,似乎什么都没有发生
def _newLine(self, usePos=True):
"""Closes current line item and starts a new one.
Remark: if current line became too long, animation
performance (via _drawline) slowed down considerably.
"""
在turtle.py中,
forward()
调用设置端点的\u go()
,然后调用\u goto()
_如果线段超过42,goto()将创建一条新线
if len(self.currentLine) > 42: # 42! answer to the ultimate question
# of life, the universe and everything
self._newLine()
该值似乎是任意的;您可以将其设置为更高的值,但是会出现暂停,似乎什么都没有发生
def _newLine(self, usePos=True):
"""Closes current line item and starts a new one.
Remark: if current line became too long, animation
performance (via _drawline) slowed down considerably.
"""
是否要停止所有动画?如果是这样的话,
screen.ontimer(move)
应该不起作用。我想要的是完全控制动画。当我认为只有在使用screen.update()
时,当screen.tracer()
设置为零时,才应该更新窗口时,出现了一些“部分”动画,这让我很恼火。是否要停止所有动画?如果是这样的话,screen.ontimer(move)
应该不起作用。我想要的是完全控制动画。当我认为只有在使用screen.update()
时,当screen.tracer()
设置为零时,才应该更新窗口时,出现了一些“部分”动画,这让我感到很不舒服。