VPython 6 - 对象不会被删除

时间:2018-02-24 21:12:58

标签: python python-2.7 vpython

我有一个3D弹性碰撞模拟。我想通过按下按钮清除程序中的所有球体对象。文档表明我应该执行以下操作:

def clear_balls():
   for ball in balls:
      ball.visible = False
      del ball

这成功地使球在场景中不可见,但它们仍然占据记忆并与仍然存在的球相撞。我希望它完全删除。尝试使用一个独特的球名称,这不是一个列表的一部分,因为一些人建议仍然会导致相同的问题。

1 个答案:

答案 0 :(得分:1)

del ball没有按照您的想法进行操作,因为balls仍然保留对该对象的引用。您需要清空balls列表:

def clear_balls():
    for ball in balls:
        ball.visible = False
     balls[:] = []