Ejemplo n.º 1
0
    def loop(self, screen, screen_pos):
        if self.anim:
            self.anim.update_animation()
            self.img = self.anim.img
        pos = Vector2()
        if self.pos:
            pos = self.pos
        
        if self.screen_relative_pos is not None:
            pos = pos + self.screen_relative_pos * engine.get_screen_size()

        if self.screen_relative:
            pos = self.pos
        else:
            pos = pos - screen_pos
        
        center_image = False
        try:
            center_image = self.center_image
        except AttributeError:
            pass
            
        img_manager.show_image(self.img,
                   screen,
                   pos,
                   new_size=self.size,
                   center_image=center_image,
                   angle=self.angle,
                   flip=self.flip)

        GameObject.loop(self, screen, screen_pos)
Ejemplo n.º 2
0
    def loop(self, screen):
        if self.anim:
            self.anim.update_animation()
            self.img = self.anim.img
            try:
                self.show = (self.anim.invincibility % (self.anim.show_frequency * 2)) < self.anim.show_frequency
            except AttributeError:
                pass
        pos = Vector2()
        if self.pos:
            pos = self.pos

        if self.screen_relative_pos is not None:
            pos = pos + self.screen_relative_pos * engine.get_screen_size()

        if self.screen_relative:
            pos = self.pos
        else:
            from engine import level_manager

            pos -= level_manager.level.screen_pos * Vector2(self.parallax_factor, 1.0)
            if pos.x > 160 or pos.x + self.size.x < 0:
                return

        center_image = False
        try:
            center_image = self.center_image
        except AttributeError:
            pass

        if self.show:
            img_manager.show_image(
                self.img, screen, pos, new_size=self.size, center_image=center_image, angle=self.angle, flip=self.flip
            )

        try:
            img_manager.show_image(
                self.anim.deal_with_it,
                screen,
                pos + self.anim.deal_pos + self.anim.deal_delta,
                new_size=Vector2(32, 32),
            )
        except AttributeError:
            pass
        GameObject.loop(self, screen)