Esempio n. 1
0
class Corpse(pygame.sprite.Sprite):
    """ generic class for everything """
    def __init__(self, source):
        """ image should be a spritesheet of square sprites """
        pygame.sprite.Sprite.__init__(self)
        self.source = source
        self.image = pygame.image.load(self.source.death_image).convert_alpha()
        #self.rect = Rect(coords[0], coords[1], self.image.get_height(), self.image.get_height())
        self.rect = source.rect
        self.screen = self.source.screen
        self.death_animator = Animator(self.screen, self.image, self.rect)
        self.countdown = self.death_animator.frame_count
        self.dir = (0,0)
        self.alive = True
        self.facing_right = True

    def update(self):
        if (self.countdown > 0):
            self.death_animator.move = (self.death_animator.move+1)%self.death_animator.frame_count
            self.death_animator.goto(self.dir)
            self.countdown -= 1
            self.draw()
        else:
            self.kill()

    def draw(self):
        self.rect = self.screen.blit(
                self.image, 
                self.rect, 
                self.rect
                )
Esempio n. 2
0
class Object(pygame.sprite.Sprite):
    """ generic class for everything """
    def __init__(self, source, image, coords):
        """ image should be a spritesheet of square sprites """
        pygame.sprite.Sprite.__init__(self)
        self.source = source
        self.image = pygame.image.load(image).convert_alpha()
        self.rect = Rect(coords[0], coords[1], self.image.get_height(),
                         self.image.get_height())
        self.screen = self.source.screen
        self.move_animator = Animator(self.screen, self.image, self.rect)
        self.m_image = self.image.subsurface(self.move_animator.crop_init)
        self.mask = pygame.mask.from_surface(self.m_image)
        self.dir = (0, 0)
        self.alive = True
        self.speed = 1

    def destroy(self):
        self.dir = (0, 0)
        self.alive = False
        self.kill()
        del self
        pygame.event.post(userevents.death_event())

    def move(self, coords):
        self.dir = (coords[0], coords[1])

    def draw(self):
        self.rect = self.screen.blit(self.image, self.rect, self.rect)

    def turnaround(self, point):
        pass

    def update(self):
        if (self.alive):
            self.rect = self.move_animator.goto(self.dir)
            self.mask = self.move_animator.current_mask
        else:
            self.destroy()

    def moveOnce(self, coords):
        self.rect = self.move_animator.goto(coords)

    def get_pos(self):
        x = (self.rect.centerx)
        y = (self.rect.centery)
        r = (x, y)
        return r