diff options
author | coolestdude1 <arielzamparini@gmail.com> | 2010-02-07 03:30:54 (GMT) |
---|---|---|
committer | coolestdude1 <arielzamparini@gmail.com> | 2010-02-07 03:30:54 (GMT) |
commit | 28a9ca5769460a9aa374ad768b00e073476236c7 (patch) | |
tree | bdae5eb82bf997f8f4b1a8b84e9ddf2303219e3a | |
parent | 4a368caaf6740eca6f4e85ee8235d0f1a332c4ad (diff) |
added in a single block no text yet
-rw-r--r-- | blocku.py | 47 |
1 files changed, 36 insertions, 11 deletions
@@ -10,6 +10,8 @@ if not pygame.image.get_extended(): #game constants SCREENRECT = Rect(0, 0, 640, 480) +KEYBOARDMOVESPEED = 10 + def load_image(file): "loads an image, prepares it for play" @@ -27,8 +29,9 @@ def load_images(*files): return imgs class Block(pygame.sprite.Sprite): + images = [] def __init__(self, north=None, east=None, south=None, west=None): - pygame.sprite.Sprite.__init__(self) + pygame.sprite.Sprite.__init__(self, self.containers) self.image = self.images[0] self.rect = self.image.get_rect().move(300, 300) self.north = north @@ -40,6 +43,18 @@ class Block(pygame.sprite.Sprite): pass #if (mouseMove) # self.rect.move(mouseX-posRelX,mouseY-posRelY) + def move(self, direction): + # up = 0, right = 1, down = 2, left = 3 + if direction == 0: + self.rect.move_ip(0,-KEYBOARDMOVESPEED) + if direction == 1: + self.rect.move_ip(KEYBOARDMOVESPEED,0) + if direction == 2: + self.rect.move_ip(0,KEYBOARDMOVESPEED) + if direction == 3: + self.rect.move_ip(-KEYBOARDMOVESPEED,0) + #keep the block on the screen + self.rect = self.rect.clamp(SCREENRECT) class Puzzle: def __init__(self): @@ -93,7 +108,8 @@ class Game: #background = load_image('background.gif') background = load_image('background.bmp') # load images to pipe to the sprite classes - Block.images = [load_image('block.bmp')] + blockImg = load_image('block.bmp') + Block.images = [blockImg] # the test will need rects and positions i sugest make some kind of default # this information can be held by each block as they are created but is made here @@ -106,10 +122,6 @@ class Game: screen.blit(background,(0,0)) pygame.display.flip() - #main blocku code structs - blocks = pygame.sprite.Group() - Block.containers = all - #to set the icon up and to decorate the game window icon = pygame.transform.scale(iconImg, (32, 32)) pygame.display.set_icon(icon) @@ -118,6 +130,11 @@ class Game: #this next call is sort of like sprite batch . draw spriteBatch = pygame.sprite.RenderUpdates() + #main blocku code structs + blocks = pygame.sprite.Group() + Block.containers = spriteBatch + aBlock = Block() + #see if there is a sprite font if pygame.font: spriteBatch.add(Text(text = 'helloworld')) @@ -151,6 +168,14 @@ class Game: # update all the sprites spriteBatch.update() # handle player input + if keystate[K_UP]: + aBlock.move(0) + if keystate[K_RIGHT]: + aBlock.move(1) + if keystate[K_DOWN]: + aBlock.move(2) + if keystate[K_LEFT]: + aBlock.move(3) # note random here is random.random() # note foreach here is for object in @@ -168,11 +193,11 @@ class Text(pygame.sprite.Sprite): self.font.set_italic(1) self.color = Color('blue') self.update() - self.rect = self.image.get_rect().move(40, 230) + self.rect = self.image.get_rect().move(50, 200) self.text = text def update(self): - msg = 'testing something' + msg = 'Drawing call test' self.image = self.font.render(msg, 0, self.color) class mouseUpdate(pygame.sprite.Sprite): @@ -182,7 +207,7 @@ class mouseUpdate(pygame.sprite.Sprite): self.font.set_italic(1) self.color = Color('blue') self.update() - self.rect = self.image.get_rect().move(40, 250) + self.rect = self.image.get_rect().move(50, 220) def update(self): msg = 'Mouse Position %s, %s' % mouse.get_pos() @@ -192,10 +217,10 @@ class mouseUpdate(pygame.sprite.Sprite): # ./TestGame.py def main(): # Initialize pygame - pygame.init() + pygame.init() # Initializa game - game = Game() + game = Game() # Run the game game.run() |