def setUp(self): self.ag = sprite.AbstractGroup() self.ag2 = sprite.AbstractGroup() self.s1 = sprite.Sprite(self.ag) self.s2 = sprite.Sprite(self.ag) self.s3 = sprite.Sprite(self.ag2) self.s4 = sprite.Sprite(self.ag2) self.s1.image = pygame.Surface((10, 10)) self.s1.image.fill(pygame.Color("red")) self.s1.rect = self.s1.image.get_rect() self.s2.image = pygame.Surface((10, 10)) self.s2.image.fill(pygame.Color("green")) self.s2.rect = self.s2.image.get_rect() self.s2.rect.left = 10 self.s3.image = pygame.Surface((10, 10)) self.s3.image.fill(pygame.Color("blue")) self.s3.rect = self.s3.image.get_rect() self.s3.rect.top = 10 self.s4.image = pygame.Surface((10, 10)) self.s4.image.fill(pygame.Color("white")) self.s4.rect = self.s4.image.get_rect() self.s4.rect.left = 10 self.s4.rect.top = 10 self.bg = pygame.Surface((20, 20)) self.scr = pygame.Surface((20, 20)) self.scr.fill(pygame.Color("grey"))
def set_hearts(self, num): if 0 < num <= self.max_hp: if self.hp - 1 == num: event.post(event.Event(53, {})) self.hp = num self.heart_sprites.empty() for i in range(self.max_hp): spr = sprite.Sprite() if i < self.hp: spr.image = self.heart else: spr.image = self.heart_pass spr.image.set_colorkey((255, 255, 255)) spr.rect = spr.image.get_rect() spr.rect.center = (int(self.rect_size * 1.5) * (i + 1), self.rect_size) self.heart_sprites.add(spr) elif num <= 0: self.hp = num self.heart_sprites.empty() for i in range(self.max_hp): spr = sprite.Sprite() if i < self.hp: spr.image = self.heart else: spr.image = self.heart_pass spr.image.set_colorkey((255, 255, 255)) spr.rect = spr.image.get_rect() spr.rect.center = (int(self.rect_size * 1.5) * (i + 1), self.rect_size) self.heart_sprites.add(spr) event.post(event.Event(31, {}))
def setUp(self): self.ag = sprite.AbstractGroup() self.ag2 = sprite.AbstractGroup() self.s1 = sprite.Sprite(self.ag) self.s2 = sprite.Sprite(self.ag) self.s3 = sprite.Sprite(self.ag2) self.s4 = sprite.Sprite(self.ag2) self.s1.image = pygame.Surface((10, 10)) self.s1.image.fill(pygame.Color('red')) self.s1.rect = self.s1.image.get_rect() self.s2.image = pygame.Surface((10, 10)) self.s2.image.fill(pygame.Color('green')) self.s2.rect = self.s2.image.get_rect() self.s2.rect.move_left = 10 self.s3.image = pygame.Surface((10, 10)) self.s3.image.fill(pygame.Color('blue')) self.s3.rect = self.s3.image.get_rect() self.s3.rect.top = 10 self.s4.image = pygame.Surface((10, 10)) self.s4.image.fill(pygame.Color('white')) self.s4.rect = self.s4.image.get_rect() self.s4.rect.move_left = 10 self.s4.rect.top = 10 self.bg = pygame.Surface((20, 20)) self.scr = pygame.Surface((20, 20)) self.scr.fill(pygame.Color('grey'))
def setUp(self): self.ag = sprite.AbstractGroup() self.ag2 = sprite.AbstractGroup() self.s1 = sprite.Sprite(self.ag) self.s2 = sprite.Sprite(self.ag2) self.s3 = sprite.Sprite(self.ag2) self.s1.image = pygame.Surface((50, 10), pygame.SRCALPHA, 32) self.s2.image = pygame.Surface((10, 10), pygame.SRCALPHA, 32) self.s3.image = pygame.Surface((10, 10), pygame.SRCALPHA, 32) self.s1.rect = self.s1.image.get_rect() self.s2.rect = self.s2.image.get_rect() self.s3.rect = self.s3.image.get_rect() self.s2.rect.move_ip(40, 0) self.s3.rect.move_ip(100, 100)
def add_text_entity(self, text, position, filename=None, size=10, color=(0, 0, 0)): ''' Adds text with top left corner located at position. If filename is None, default font will be used. Size is in view units. returns: View entity entity id ''' import os from pygame import font, sprite if filename == None: filename = os.path.join(path, "Font", DEFAULT_FONT) font = font.Font(filename, size) rendered_text = font.render(text, True, color) text_sprite = sprite.Sprite() text_sprite.image = rendered_text text_sprite.rect = rendered_text.get_rect() text_sprite.rect.topleft = position text_sprite.font = font text_sprite.color = color self._sprites.add(text_sprite) self._untraced_sprites.add(text_sprite) return self.add_view_entity(text_sprite)
def makeBox(path, center): sprite = PGS.Sprite() sprite.origImage = LD(path) sprite.rect = sprite.origImage.get_rect() sprite.origRect = sprite.rect.copy() sprite.rect.center = center sprite.contAnimations = [scaleAnimation, twistAnimation] return sprite
def set_bombs(self, num): if 0 <= num <= self.max_bomb: self.bomb = num self.bomb_sprites.empty() spr = sprite.Sprite() spr.image = transform.scale( image.load('GUI\\carrot_bomb.png').convert(), (self.rect_size, self.rect_size)) spr.image.set_colorkey((255, 255, 255)) spr.rect = spr.image.get_rect() spr.rect.center = (int(self.rect_size * 1.5), self.rect_size * 2.5) self.bomb_sprites.add(spr) spr = sprite.Sprite() spr.image = self.font.render(str(self.bomb), True, (0, 0, 0)) spr.image.set_colorkey((255, 255, 255)) spr.rect = spr.image.get_rect() spr.rect.center = (int(self.rect_size * 1.5) * 2, self.rect_size * 2.5) self.bomb_sprites.add(spr)
def test_has(self): " See if AbstractGroup.has() works as expected. " ag = sprite.AbstractGroup() ag2 = sprite.AbstractGroup() s1 = sprite.Sprite(ag) s2 = sprite.Sprite(ag) s3 = sprite.Sprite(ag2) s4 = sprite.Sprite(ag2) self.assertEqual(True, s1 in ag) self.assertEqual(True, ag.has(s1)) self.assertEqual(True, ag.has([s1, s2])) # see if one of them not being in there. self.assertNotEqual(True, ag.has([s1, s2, s3])) # see if a second AbstractGroup works. self.assertEqual(True, ag2.has(s3))
def __init__(self, color, seed, x, y, size=36): self.seed = seed self.generator = random.Random(seed) self.color = color self.size = size self.sprites = sprite.RenderUpdates() self.sprite = sprite.Sprite() self.dirName = get_dir() self._path = self.dirName + "ghost_" + self.color + ".png" img = pygame.image.load(self._path) self.sprite.image = pygame.transform.scale(img, (self.size, self.size)) self.sprites.add(self.sprite) self.position = (x, y) self.startposition = self.position self.reset()
def __init__(self, buddy, startx, starty, color = 'green', size=36): self.buddy = buddy self.nick = buddy.props.nick self.score = 0 self.color = color self.size = size self.startposition = (startx, starty) self.hidden = False self.bonusplayers = None self.opensprites = sprite.RenderUpdates() self.closedsprites = sprite.RenderUpdates() self.dirName = get_dir() self.open = sprite.Sprite() self.closed = sprite.Sprite() self._path = self.dirName + "pacman-" + self.color img = pygame.image.load(self._path + "-open-right.png") self.open.image = pygame.transform.scale(img, (self.size, self.size)) img = pygame.image.load(self._path + "-closed.png") self.closed.image = pygame.transform.scale(img, (self.size, self.size)) self.opensprites.add(self.open) self.closedsprites.add(self.closed) self.mouthClosed = 1 self.supertime = 0 self.reset()
def tool_init(): global back back = sprite.Sprite(tool_group) back.image = pygame.Surface((width, 60), pygame.SRCALPHA) back.image.fill((255, 255, 255)) back.rect = back.image.get_rect() Button(tool_group, load_image(fr'tools\save.jpg'), save, (5, 5)) Button(tool_group, load_image(fr'tools\open.png'), open_im, (60, 5)) Button(tool_group, load_image(fr'tools\palette.png'), new_color, (width - 80, 0)) for i in range(5, 36, 30): for j in range(width - 370, width - 100, 30): Palette(tool_group, (j, i), update_color, col_mark, pygame.Color('red'), 20) tool_group.update(event=pygame.event.Event(pygame.MOUSEBUTTONDOWN, button=1, pos=(width - 369, 6))) tool_setting(Rect, 'rect', (width - 500, 5), True) tool_setting(Circle, 'circle', (width - 440, 5)) tool_setting(Line, 'line', (width - 560, 5))
len(figure_arr) > 1 and event.mod & pygame.KMOD_CTRL: figure_arr.pop(-2).kill() elif event.type == pygame.KEYDOWN and event.key == pygame.K_c and\ event.mod & pygame.KMOD_CTRL: r = rect.rect if r.w <= 2 or r.h <= 2: continue copy = pygame.Surface((r.w - 2, r.h - 2)) copy.blit(main_screen, (-r.x - 1, -r.y - 1)) rect.kill() rect = Rect(draw_group) elif event.type == pygame.KEYDOWN and event.key == pygame.K_v and\ event.mod & pygame.KMOD_CTRL and copy: if figure_arr and drawing: old = figure_arr.pop() figure_arr.append(sprite.Sprite(draw_group)) pos = pygame.mouse.get_pos() figure_arr[-1].image = copy figure_arr[-1].rect = copy.get_rect() figure_arr[-1].rect.x = pos[0] figure_arr[-1].rect.y = pos[1] copy = None rect.kill() rect = Rect(draw_group) if old is not None: figure_arr.append(old) old = None elif back.rect.collidepoint(pygame.mouse.get_pos()): tool_group.update(event=event) elif not figure_arr:
def from_database(self, entity_manager) -> None: self.sprite = sprite.Sprite() self.sprite.image = image.fromstring(self.sql_image, (self.sql_width, self.sql_height), "RGBA") self.sprite.rect = self.sprite.image.get_rect()
def __init__(self,initval = sprite.Sprite()): self.obj = initval
def is_colliding_with(self, ball): s = sprite.Sprite() s.rect = ball.rect s.mask = ball.surface_mask return sprite.collide_mask(self, s)