当前位置:   article > 正文

turtle库使用——认识与操作海龟图像_hideturtle

hideturtle

turtle模块内shape('turtle')方法可以让海龟呈现,stamp()方法可以使用海龟在画布盖章。

1.让海龟呈现同时在画布盖章。

  1. # 让海龟呈现同时在画布盖章
  2. import random
  3. import turtle
  4. # turtle模块内shape('turtle')方法可以让海龟呈现,stamp()方法可以使用海龟在画布盖章。
  5. t = turtle.Pen()
  6. t.shape('turtle')
  7. colorlist = ['yellow', 'black', 'gold', 'pink', 'gray', 'red', 'orange', 'aqua', 'green']
  8. for angle in range(0, 361, 15):
  9. i = random.randint(0, 8)
  10. cr = colorlist[i]
  11. t.color(cr)
  12. t.forward(100)
  13. t.stamp()
  14. t.home() # 此函数用于将海龟移动到原点,即坐标(0,0)。无论如何, turtle 的位置都是默认方向(朝东),设置为(0,0)。
  15. t.seth(angle) # 调整海龟方向

绘制效果:

 2.clearstamps(n)如果n=None可以清除画布上所有的海龟,如果n是正值,可以清除前n个海龟,如果n是负值,可以清除后n个海龟。如果海龟在画布盖章时有设定返回值,如stampID=t.stamp(),未来也可以使用clearstamp(stampID)将这个特定的海龟盖章删除。

首先绘制3个海龟,然后将自己隐藏起来,过5秒后先删除第2只海龟,再过5秒删除其他2只海龟。

  1. import turtle
  2. import time
  3. t = turtle.Pen()
  4. t.color('blue')
  5. t.shape('turtle')
  6. firstStamp = t.stamp() # 盖章第一只海龟
  7. t.forward(100)
  8. secondStamp = t.stamp() # 盖章第二只海龟
  9. t.forward(100)
  10. thirdStamp = t.stamp() # 盖章第三只海龟
  11. t.hideturtle() # 隐藏目前海龟
  12. time.sleep(5)
  13. t.clearstamp(secondStamp) # 删除第二只海龟
  14. time.sleep(5)
  15. t.clearstamps(None)
  16. time.sleep(3) # 观察最后画布情况

绘制效果:

 3.隐藏与显示海龟:上述代码中hideturtle()是隐藏海龟的方法,未来若是想显示海龟可以使用showturtle()方法。isvisible()可以检查目前程序是否显示海龟,如果显示可以返回True,如果没有显示则返回False。

先盖章第一只海龟并打印是否显示海龟光标,结果会是True。然后盖章第2只海龟并隐藏海龟光标,这时打印是否显示海龟光标,结果是False。然后删除最后一只海龟即第二只海龟。最后显示海龟光标,这时打印是否显示海龟光标结果便是True。

  1. import turtle
  2. import time
  3. t = turtle.Pen()
  4. t.color('red')
  5. t.shape('turtle')
  6. t.stamp() # 盖章第一只海龟
  7. print("目前是否有显示海龟:", t.isvisible())
  8. t.forward(100)
  9. second = t.stamp() # 盖章第二只海龟
  10. time.sleep(3)
  11. t.hideturtle() # 隐藏目前海龟
  12. print("目前是否有显示海龟:", t.isvisible())
  13. t.clearstamps(-1) # 删除后面一个海龟
  14. time.sleep(3)
  15. t.showturtle() # 显示海龟
  16. print("目前是否有显示海龟:", t.isvisible())
  17. time.sleep(3) # 观察最后画布情况

绘制效果:

 4.认识所有的海龟光标:screen.getshapes()方法可以列出所有的海龟光标。

列出所以海龟光标字符串与相对应的光标外型。

  1. # 列出所有的海龟光标字符串,与相对应的光标外型。
  2. import turtle, time
  3. t = turtle.Pen()
  4. t.color('blue')
  5. print(t.screen.getshapes())
  6. for cursor in t.screen.getshapes():
  7. t.shape(cursor) # 更改海龟光标
  8. t.stamp() # 海龟光标盖章
  9. t.forward(30)
  10. time.sleep(3) # 观察最后画布情况

绘制效果:

 光标外型:

 我们也可以使用下列方式将任意图片当作海龟光标,不过图片不会在我们转动海龟时随着转动。

screen.register_shape("图片名称")

或者我们也可以使用下列方式自建一个图形当海龟光标。

screen.('myshape', ((3, -3), (0, 3), (-3, -3)))

用上面第一个例子来试一下吧:

图片格式一定要是.gif格式的!!!

  1. # 让海龟呈现同时在画布盖章
  2. import random
  3. import time
  4. import turtle
  5. # turtle模块内shape('turtle')方法可以让海龟呈现,stamp()方法可以使用海龟在画布盖章。
  6. t = turtle.Pen()
  7. screen = turtle.Screen()
  8. screen.register_shape("dog.gif")
  9. t.shape('dog.gif')
  10. colorlist = ['yellow', 'black', 'gold', 'pink', 'gray', 'red', 'orange', 'aqua', 'green']
  11. for angle in range(0, 361, 30):
  12. i = random.randint(0, 8)
  13. cr = colorlist[i]
  14. t.color(cr)
  15. t.forward(200)
  16. t.stamp()
  17. t.home() # 此函数用于将海龟移动到原点,即坐标(0,0)。无论如何, turtle 的位置都是默认方向(朝东),设置为(0,0)。
  18. t.seth(angle) # 调整海龟方向
  19. time.sleep(5)

绘制效果:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/117083?site
推荐阅读
相关标签
  

闽ICP备14008679号