完全删除海龟对象_how to delete python turtle entirely?

如本文章标有价格,需议价或其它事情商议请加微信scratch8

"""
   完全删除海龟对象.py
   在实践中,用海龟模块编制游戏,有时候需要完全删除一个turtle对象。
   否则程序会运行越来越慢。典型的是射击游戏,如果不复用子弹的话,
   那么当子弹超过屏幕边缘,则要彻底删除它。
   so,在Python海龟画图中,如何彻底删除一个海龟对象呢?
   或许你会说,只要用del删除海龟对象的名字即可。
   这样是不行的,在新建海龟对象的时候会产生几个画布对象,这些对象并不会被删除。
   经作者研究,只要把这几个画布对象全部删除即可。
   但是,如果这个海龟对象画了线条,盖了图章,那么还要把这些item对象也全部删除。
   以下是示例程序,当然,读者可以把它封成函数等。

"""
from turtle import Turtle

tom = Turtle()
tom.stamp()
print(tom.stampItems)
canvas = tom.screen.cv

# 删除新建tom时产生的画布项目,就能完全删除tom
canvas.delete(tom.drawingLineItem)
canvas.delete(tom.turtle._item)
[canvas.delete(item) for item in tom.items ]
tom.clearstamps()                          # 删除所有图章 
   
tom.screen._turtles.remove(tom)            # 从海龟表中移除自己

#del tom

本站所有作品,教程等皆为原创,版权所有。只供个人及单位内部研究使用,对外展示或传播必需经本站同意,且注明来自本站。培训机构等用本站资源培训学生,需经本站授权。一旦付款,表示同意本站知识付费原则:数字商品,不支持退款。亦可直接向微信号scratch8付款购买。入住QQ群:225792826 和爱好者共同交流,并且能下载免费提供的Python资源(需提供真实姓名才可入群)
李兴球的博客_Python创意编程技术前沿_pygame » 完全删除海龟对象_how to delete python turtle entirely?
scratch

学本领,探索更大的世界!

李兴球博客 风火轮编程主页