[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[pygame] Moving sprites.
So I've read piman's tutorial and checked out a few others. I'm still
confused. I don't really understand the process of moving a sprite
around. I would like to use RenderUpdates and such, but I'm lost.
I basically have a simple script that moves a ship around a background
(the background is an image.)
To create the sprite I'm using:
class Units(pygame.sprite.Sprite):
def __init__(self, img, loc1 = 250, loc2 = 250):
pygame.sprite.Sprite.__init__(self) #start up sprites
#locs
self.loc1 = loc1
self.loc2 = loc2
#create sprite
self.image, self.rect = load_image(img)
self.rect.center = [self.loc1, self.loc2]
I create the ship like this:
self.ship = Units('bship.png')
self.screen.blit(self.ship.image, self.ship.rect)
To redraw the ship when it moves I'm using this:
self.ship.loc1 = n1 #n1 and n2 are setup earlier in the code that
looks for key presses and sets the pixel difference
self.ship.loc2 = n2
self.ship.rect.center = [self.ship.loc1, self.ship.loc2]
print self.ship.rect.center
self.screen.blit(self.bg, (0,0))
self.screen.blit(self.ship.image, self.ship.rect.center)
pygame.display.flip()
I'm really pretty confused at this point. I know I'm just doing
something stupid, but I haven't managed to get any other code working
to redraw the ship properly when it's moved. I don't have the code
from when I was doing it wrong, but basically, can someone point me in
the right direction to changing this over to just redraw the
appropriate areas?
Thanks, and sorry this was rambling.