我必须使“停止”一词闪烁或在停止标志中闪烁。
我用乌龟图形制作了停车标志,但不知道如何使单词停止闪烁。这是我班的作业。
任何帮助将不胜感激。
这是我到目前为止所做的代码:
import turtle
t = turtle.Turtle()
t.color("black", "red")
t.begin_fill()
for count in range(8):
t.forward(60)
t.left(45)
t.forward(20)
t.end_fill()
t.color("black")
t.begin_fill()
t.right(90)
t.forward(180)
t.left(90)
t.forward(20)
t.left(90)
t.forward(180)
t.end_fill()
t.left(90)
t.forward(20)
t.color("white")
t.penup()
t.goto(-20, 40)
t.write("STOP", font=("Impact", 50))
t.goto(-30, -10)
答案 0 :(得分:1)
基于this answer,您可以通过创建一个单独的Turtle对象来编写文本并将其清除来实现此目的:
# create second turtle used for blinking text
eraseable = turtle.Turtle()
eraseable.color("white")
eraseable.hideturtle()
eraseable.up()
eraseable.setposition(t.position())
您可以使用这种方法使文本每秒闪烁一次:
import time
# blink 20 times
for i in range(0,20):
eraseable.write("STOP", font=("Impact", 50))
time.sleep(0.5)
eraseable.clear()
time.sleep(0.5)
答案 1 :(得分:0)
我不会使用像import time
这样的模块来创建很多不会收集垃圾的全局海龟,而是会使用现有的海龟(绘制完成后再使用)和海龟自己的{{1 }}事件以使符号动画:
ontimer
此方法与@glhr的解决方案之间的区别是,如果您在闪烁时关闭另一个解决方案的窗口,由于事件不同步,您将收到十几行错误消息。此解决方案不会出现任何错误,因为它的闪烁与turtle的事件循环是同步的。