Мне нужно составить список спрайтов, каждый из которых должен иметь какой-то таймер, чтобы он мог выполнять свое действие самостоятельно (например, снимать каждые 10 секунд, например). Но они будут созданы и добавлены новые в другое время, поэтому каждый из них должен иметь свой собственный таймер. Я знаю, как составить список спрайтов, но я не знаю, как подключить таймер к каждому из них или что-то в этом роде. Может кто-нибудь мне помочь?Pygame sprites timer
0
A
ответ
3
Вы можете добавить таймер как атрибут спрайтов:
class Sprite:
def __init__(self, ...):
self.timer = pygame.Clock()
# ...
# ...
Или (убедитесь, что нет ни одного члена уже называется timer
):
for sprite in sprites:
sprite.timer = pygame.Clock()
Или вы могли бы изменить свой список в список кортежей, содержащий спрайт и таймер:
sprites = [(sprite, pygame.Clock()) for sprite in sprites]
Это будет составить список с форматом:
[(sprite, timer), (sprite, timer), ...]
Вы можете получить доступ к спрайт и таймер:
sprite = sprites[0][0] # first sprite
timer = sprites[0][1] # first timer
Или:
sprite, timer = sprites[0] # first pair
Вы также можете иметь словарь {sprite: timer}
, а затем доступ к таймеру для спрайта с помощью sprite_to_timer[sprite]
.
Примечание: Замените pygame.Clock
на то, что когда-либо таймер, который вы хотите использовать
Смежные вопросы
- 1. Pygame Sprites Wont Show
- 2. Ошибка Pygame Sprites?
- 3. Chasing Sprites in Pygame
- 4. PyGame: Sprites не перемещается
- 5. Pygame: Timer For Time Alive
- 6. Pygame Sprites не разрушается при столкновении
- 7. PyGame Sprites Иногда не рисовал
- 8. Pygame Collision with Change sprites
- 9. Ошибка обнаружения столкновений Pygame, Sprites
- 10. Python pygame - Удаление offscreen sprites
- 11. Постоянная анимация на Pygame Sprites
- 12. Timer in Pygame
- 13. Столкновение, не работающее для pygame Sprites
- 14. Pygame sprites перекрывается, не будучи прозрачным
- 15. pygame sprites и pygame.display.flip() приводит к артефактам
- 16. Pygame - Rendering Sprites в определенное время
- 17. Pygame sprites - неактивен после создания нового спрайта
- 18. [pygame error message] type object 'sprite' не имеет атрибута 'sprites'
- 19. Как заставить sprites появляться в случайных местах, используя pygame?
- 20. Как удалить rects/sprites с python и pygame
- 21. Programmatically Extracting Sprites
- 22. Pygame не идентифицирует столкновения
- 23. TypeError: unbound method sprites()
- 24. Python Display Sprites
- 25. Isometric Sprites
- 26. Python Sprites/Изображения мигают
- 27. Pygame - количество спрайтов в группе
- 28. My sprites checker не работает
- 29. Python Game Timer (Threads?)
- 30. Несколько цветных твинов на Sprites