如何在Python Ursina中删除所有已生成的Entity?
在Ursina中删除所有已生成Entity的方法(无需手动维护列表)
Ursina框架会自动将所有创建的Entity实例维护在scene.entities集合中,你可以直接利用这个集合批量销毁所有实体,不用手动把每个Entity添加到自定义列表里。
需要注意:不能直接遍历scene.entities执行销毁操作——因为销毁会立即把实体从scene.entities中移除,遍历原集合时修改其结构会引发遍历异常。正确的做法是先把集合转成列表,再遍历列表执行销毁:
for entity in list(scene.entities): destroy(entity)
如果想要一行代码实现,也可以用列表推导式:
[destroy(e) for e in list(scene.entities)]
两种方式都能批量销毁所有已初始化的Entity,其中循环写法可读性更强,更适合日常开发场景。
内容的提问来源于stack exchange,提问作者Recentaly
相关产品推荐
相关产品推荐

