From 0eb075f87d98e8588fa2d8b8bc5f1513d377d8ba Mon Sep 17 00:00:00 2001 From: Fernando Sansberro Date: Sat, 21 Apr 2012 12:19:39 +0000 Subject: Renamed states folder to game. Some improvements in codebase. --- (limited to 'src/api/Game.py') diff --git a/src/api/Game.py b/src/api/Game.py index b3fe189..b49b3ff 100755 --- a/src/api/Game.py +++ b/src/api/Game.py @@ -15,16 +15,21 @@ import api.MultiLabel from api.MultiLabel import CMultiLabel import gc +from api.Mouse import CMouse + from gettext import gettext as _ +import Image + class CGame(object): mInstance = None mState = None mScreen = None mBackground = None - mSampleSprite = None - mSprites = None + mAllSprites = None + mMousePointerSprite = None + mMouse = None mGroups = None mMainSprites = None mClock = None @@ -49,15 +54,20 @@ class CGame(object): print gc.collect(), " deleted objects" self.mState = aState + self.mState.init() def destroy(self): if (self.mState != None): self.mState.destroy() self.mState = None + self.mMouse.destroy() self.mBackground = None + self.mMousePointerSprite.destroy() + self.mMousePointerSprite = None self.mInstance = None # destroy pygame - pygame.quit() + #pygame.quit() + pygame.mouse.set_visible(True) print "destroy" def init(self): @@ -72,38 +82,22 @@ class CGame(object): self.mBackground = pygame.Surface(self.mScreen.get_size()) self.mBackground.fill((255, 0, 0)) - #self.mBackground = CImage.loadImage("assets/images/back_menu.png", False) - - #self.mSampleSprite = CSuperSprite(self) - #self.mSampleSprite.setSpeed(3) - #self.mSampleSprite.setAngle(0) - #self.mSampleSprite.boundAction = self.mSampleSprite.WRAP - + # Sound system initialization. + pygame.mixer.init() #self.mAllSprites = pygame.sprite.Group() Sprites = [] self.mAllSprites = pygame.sprite.LayeredUpdates(Sprites) - - #self.mGroups = [] - #self.mSprites = [self.mSampleSprite] - #self.mMainSprites = pygame.sprite.OrderedUpdates(self.mSprites) - #self.mGroups.append(self.mMainSprites) - - #self.mS2 = CSprite() - #self.mS2.setDX(10) - #self.mS2.velX = 30 - #self.mS2.velY = 0 - #self.mS2.accelY = 1 - #self.mS2.maxSpeed = 200 + pygame.mouse.set_visible(False) + self.mMouse = CMouse() + self.mMousePointerSprite = CSprite() + self.mMousePointerSprite.setImage(Image.loadImage('assets/images/cursor.png', True)) + self.addChild(self.mMousePointerSprite) self.mScreen.blit(self.mBackground, (0, 0)) self.mClock = pygame.time.Clock() self.mQuit = False - - #self.mAllSprites.add(self.mSampleSprite) - #self.mAllSprites.add(self.mS2) - def gameLoop(self): print "start game loop here" @@ -121,6 +115,9 @@ class CGame(object): self.doEvents(event) + self.mMouse.update() + self.mMousePointerSprite.setXY(self.mMouse.getX(), self.mMouse.getY()) + #self.mState.preUpdate() self.mState.update() @@ -144,15 +141,17 @@ class CGame(object): """ pass - def setSprites(self, aSpritesArray): - self.mSprites = aSpritesArray +# def setSprites(self, aSpritesArray): +# self.mSprites = aSpritesArray #self.mGroups = [] #self.mMainSprites = pygame.sprite.OrderedUpdates(self.mSprites) #self.mGroups.append(self.mMainSprites) # Add a sprite to the sprite list. def addChild(self, aSprite, aLayer=0): + self.mAllSprites.remove(self.mMousePointerSprite) self.mAllSprites.add(aSprite, layer=aLayer) + self.mAllSprites.add(self.mMousePointerSprite) def removeChild(self, aSprite): self.mAllSprites.remove(aSprite) @@ -160,4 +159,7 @@ class CGame(object): def setBackground(self, aBackgroundImage): self.mBackground = None self.mBackground = aBackgroundImage - self.mScreen.blit(self.mBackground, (0, 0)) + self.blitBackground(self.mBackground) + + def blitBackground(self, aBackgroundImage): + self.mScreen.blit(aBackgroundImage, (0, 0)) \ No newline at end of file -- cgit v0.9.1