On Tue, 11 Nov 2008 13:27:08 -0800 (PST) Devon Scott-Tunkin <[EMAIL PROTECTED]> wrote:
> Here's a basic sprite class with a looping animation: > > class Bob(pygame.sprite.Sprite): > def __init__(self): > self.frame = 0 > self.images = load_sprite('bob.png') > self.image = self.images[self.frame] > self.rect = self.image.get_rect() > self.animcounter = 0 > self.animspeed = 7 > def update(self): > self.animcounter = (self.animcounter + 1)%self.animspeed > if self.animcounter == 0: > self.frame = (self.frame + 1)%len(self.images) > self.image = self.images[self.frame] > > > > bob = Bob() > where bob.update() #would be called in the main loop Thanks, Devon. I finally created a real sprite and i'm updating its position with self.rect. Only problem is this bit of pseudo-code: if moving down if self.rect.bottom > 3/4 of screen scrollpos = 0,-1 else self.rect.move_ip(0,1) What this does is scrolls the map if the rect is more than 75% down the screen. But its not keeping track of the rect position when the screen is scrolling. The player can run past the edge of map and avoid the collisions because the rect isnt in the player's position since the background moved. How can I move the rect AND the map like this?