6
Un rectangulo para seleccionar varios planetas
8
def __init__(self, player, planetas):
10
self.planetas = planetas
15
return self.rect is not None
17
def set(self, (l,t), (w,h)):
18
self.rect = pygame.Rect((l,t),(w,h))
20
def draw(self, (posx, posy), surf):
21
x, y = self.rect.left, self.rect.top
22
self.rect.width = posx - x
23
self.rect.height = posy - y
25
cuadro = self.cuadro_verdadero()
26
image = pygame.Surface((cuadro.width, cuadro.height))
27
image.fill(self.player.get_color())
29
image = image.convert()
31
surf.blit(image, cuadro)
32
pygame.draw.rect(surf, (255,255,0), self.rect, 2)
34
def seleccionar(self):
36
self.rect = self.cuadro_verdadero()
38
colision = self.rect.collidelistall(self.planetas)
40
colision = [self.planetas[i].get_pos() for i in colision]
42
posx, posy = colision.pop(0)
43
mods = pygame.key.get_mods()
44
if mods & pygame.KMOD_LSHIFT:
45
self.player.seleccionar_planeta_mas((posx, posy))
47
self.player.seleccionar_planeta((posx, posy))
49
for posx, posy in colision:
50
self.player.seleccionar_planeta_mas((posx, posy))
54
def cuadro_verdadero(self):
55
width = self.rect.width
56
height = self.rect.height
59
if self.rect.left > self.rect.right:
61
left = self.rect.right
62
if self.rect.top > self.rect.bottom:
64
top = self.rect.bottom
66
return pygame.Rect((left,top), (width,height))