绘制后的Python龟,单击鼠标,清除屏幕并重绘

时间:2013-11-05 05:09:35

标签: python redraw turtle-graphics

我正在使用python turtle绘制一个五星级。但是我需要清除屏幕并在点击它之后重绘它。 所以这个过程是这样的:

空白屏幕

  1. 单击鼠标
  2. 开始绘制明星
  3. 光洁度
  4. 单击鼠标
  5. 清除屏幕并重新绘制
  6. 谢谢

    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)
    

1 个答案:

答案 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()