python - 有没有办法删除组的特定内容?
问题描述
如何从 pygame 精灵组中删除内容?
我试过了:del self.game.treasures
我真的没有想到另一种方法来做到这一点。
if pg.sprite.spritecollideany(self, self.game.treasures):
del self.game.treasures
我只是希望它会删除该组,但是发生了错误:
if pg.sprite.spritecollideany(self, self.game.treasures):
AttributeError: 'Game' object has no attribute 'treasures'
解决方案
如果你想删除一个pygame.sprite.Sprite
对象并且你想从所有pygame.sprite.Group
s 中删除它,那么你必须使用pygame.sprite.Sprite.kill
:
kill()
Sprite 将从包含它的所有组中删除。这不会改变 Sprite 的状态。调用此方法后,可以继续使用 Sprite,包括将其添加到 Groups。
例如
mysprite.kill()
如果要从组中删除所有精灵,则必须使用pygame.sprite.Group.empty
:
empty()
从此组中移除所有精灵。
例如
myspritegroup.empty()
推荐阅读
- javascript - js: element.className 不起作用(创建暗模式)
- java - 如何使用毕加索显示来自 json api wordpress 的图像?
- java - 由于线程暂停导致递归问题
- javascript - 持久化一个数组以在另一个 html 页面上使用
- php - 需要更改数组的行数
- python - 在 biopython 中仅显示 dna 对齐分数
- java - 我的应用程序在我的 android 模拟器上运行,但在我的真实移动设备上运行不正常
- javascript - 如何定义“公会”?
- powerbi - 基于另一个表的条件计算总和的 DAX 语法
- java - 我可以将 Firebase 与 java 桌面应用程序一起使用吗?