-
Notifications
You must be signed in to change notification settings - Fork 0
/
sprite_groups.py
37 lines (25 loc) · 1.37 KB
/
sprite_groups.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import pygame
import logging.config
logging.config.fileConfig('logging.conf')
logger = logging.getLogger('simpleLogger')
class BalloonGroup(pygame.sprite.AbstractGroup):
"""Sprite group for storing Balloons (aka, Balloon objects"""
def __init__(self):
super().__init__()
def draw(self, surface):
"""Modified from Abstract group to draw the Balloon's current_balloon instead of its rect values"""
sprites = self.sprites()
surface_blit = surface.blit
for spr in sprites:
self.spritedict[spr] = surface_blit(spr.current_balloon_state.image, spr.current_balloon_state.rect)
self.lostsprites = []
bullet_sprites = pygame.sprite.Group()
tower_sprites = pygame.sprite.Group()
balloon_sprites = BalloonGroup()
tower_icon_sprites = pygame.sprite.Group() # contains all the tower icons
upgrade_icon_sprites = pygame.sprite.Group() #contains the current three upgrade icons to show in the dashboard
sell_tower_icon_sprite = pygame.sprite.GroupSingle()
# the tower icon the user has selected. If this icon is present, it is always positioned at the mouse position
selected_tower_icon_sprite = pygame.sprite.GroupSingle()
#contains all sprites, used to draw them to board
all_sprites = [bullet_sprites, tower_sprites, balloon_sprites, tower_icon_sprites, upgrade_icon_sprites, sell_tower_icon_sprite, selected_tower_icon_sprite]