Есть ли способ удалить конкретный контент группы? - PullRequest
1 голос
/ 14 мая 2019

Как удалить контент из группы спрайтов 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'

1 Ответ

2 голосов
/ 14 мая 2019

Если вы хотите удалить объект pygame.sprite.Sprite и хотите удалить его из всех pygame.sprite.Group с, то вам необходимо использовать pygame.sprite.Sprite.kill:

kill()

Спрайт удален из всех групп, которые его содержат.Это ничего не изменит в состоянии Спрайта.Можно продолжать использовать Sprite после вызова этого метода, включая добавление его в группы.

Например,

mysprite.kill()

Если вы хотите удалить все спрайты изгруппа, затем вы должны использовать pygame.sprite.Group.empty:

empty()

Удаляет все спрайты из этой группы.

например

myspritegroup.empty()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...