""" 完全删除海龟对象.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?
李兴球的博客_Python创意编程技术前沿_pygame » 完全删除海龟对象_how to delete python turtle entirely?