def __init__(self, display, roomName=ROOM.TEST_ROOM): super(Game, self).__init__(display) #@TODO: fix me! self.controls = Controller() self.status = StatusBox() self.status.capture() # add the status bar sprites. the status # box is an event handler so they'll just # change on their own, but we have to add # them to the sprite group so they show up # on screen... self.sprites = SpriteGear(self.display) for bar in self.status.bars.values(): self.sprites.sprites.add(bar) if roomName == ROOM.TEST_ROOM: self.room = makeTestRoom() # a block to play with: self.sprites.sprites.add( BlockSprite( self.room.addBlock((SCREEN.WIDTH/2+150,SCREEN.HEIGHT-100), 32, 32), pygame.image.load(IMAGE.SOCCER))) else: self.room = loader.roomFromFile(open(ROOM.DIRECTORY+roomName+"-geom.svg")) self.sprites.fromRoom(self.room, roomName) # finally, note the hero: self.hero = self.room.hero
HEIGHT = 480 WHITE = [255, 255, 255] # physics side rm = room.Room() ## @TODO: load geometry. ## ## this *sort of* works. you can see the blocks suddenly ## change course, but the collisions don't match where ## the rectangles show up on the screen. ## rm = loader.roomFromFile(open(FILENAME)) #import pdb; pdb.set_trace() rm.world.setGravity((0,9.81,0)) # in our world y++ is down. :) rm.world.setERP(0.8) # ?? rm.world.setCFM(10E-5) # ?? ### pygame : sprite layers ############################## # fixes some patchy sound on some systems. pygame.mixer.pre_init(44100,-16,2, 1024 * 3) pygame.init()