我有一个3D弹性碰撞模拟。我想通过按下按钮清除程序中的所有球体对象。文档表明我应该执行以下操作:
def clear_balls():
for ball in balls:
ball.visible = False
del ball
这成功地使球在场景中不可见,但它们仍然占据记忆并与仍然存在的球相撞。我希望它完全删除。尝试使用一个独特的球名称,这不是一个列表的一部分,因为一些人建议仍然会导致相同的问题。
答案 0 :(得分:1)
del ball
没有按照您的想法进行操作,因为balls
仍然保留对该对象的引用。您需要清空balls
列表:
def clear_balls():
for ball in balls:
ball.visible = False
balls[:] = []