[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [pygame] sprite groups and tilesheets



If your sprite object's .image attribute isn't a Surface, then it's
not really a Sprite.  All Sprite objects need to have a .image
attribute that is a Surface, and a .rect attribute that is a Rect.

just give your load_sprite attribute some other name.

On Mon, Nov 10, 2008 at 8:52 PM, Michael Fiano <michael.fiano@xxxxxxxxx> wrote:
> I am having problems adding my player sprite to a sprite group since
> self.image needs a surface, though it is a list of animation frames for the player in my code and I can't
> figure out what I need to do. Can anybody give me some pointers? Thanks.
>
> self.image = load_sprite('player.png')
>
> class load_sprite:
>        def __init__(self, filename):
>                self.sheet = pygame.image.load(os.path.join('data', 'graphics', filename))
>        def imgat(self, rect, colorkey = None):
>                rect = Rect(rect)
>                image = pygame.Surface(rect.size).convert()
>                image.blit(self.sheet, (0, 0), rect)
>                if colorkey is not None:
>                        if colorkey is -1:
>                                colorkey = image.get_at((0, 0))
>                        image.set_colorkey(colorkey, RLEACCEL)
>                return image
>        def imgsat(self, rects, colorkey = None):
>                imgs = []
>                for rect in rects:
>                        imgs.append(self.imgat(rect, colorkey))
>                return imgs
>