我正在使用python turtle绘制一个五星级。但是我需要清除屏幕并在点击它之后重绘它。 所以这个过程是这样的:
空白屏幕
谢谢
import turtle
wn = turtle.Screen()
tess = turtle.Turtle()
tess.hideturtle()
tess.left(36)
tess.forward(100)
for a in range(4):
tess.left(144)
tess.forward(100)
答案 0 :(得分:1)
要让events
像mouse_click一样工作,你必须在(无限)循环中运行乌龟。现在,它会听取events
&相应的过程。
要运行此循环,请执行wn.mainloop()
有关所有海龟的详细信息,请转到此处 - http://docs.python.org/3.1/library/turtle.html#turtle.clear
你走了。大多数解释都是相应的评论。
import turtle
wn = turtle.Screen()
tess = turtle.Turtle()
def draw(x, y): # x, y are mouse position arguments passed by onclick()
tess.clear() # Clear out the drawing (if any)
tess.reset() # Reset the turtle to original position
tess.hideturtle()
tess.left(36)
tess.forward(100)
for a in range(4):
tess.left(144)
tess.forward(100)
tess.right(36) # to go to original place
draw(0, 0) # Draw the first time
wn.onclick(draw) # Register function draw to the event mouse_click
wn.onkey(wn.bye, "q") # Register function exit to event key_press "q"
wn.listen() # Begin listening to events like key_press & mouse_clicks
wn.mainloop()