def play_game(self): # Set up screen self.screen = pygame.display.set_mode( (self.WINDOWWIDTH, self.WINDOWHEIGHT), self.FLAGS) pygame.display.set_caption('2D Platforming Test') self.clock = pygame.time.Clock() # Set up objects self.tilemap = tmx.load('level_1.tmx', self.screen.get_size()) self.currentLevel = level.Level("levels/level_1.lvl") self.player = entities.Player(self.currentLevel, (4, 56, 60, 90)) self.tilemap.set_focus(self.player.rect.centerx, self.player.rect.centery) # self.currentLevel = level.Level("levels/level_2.lvl") # self.player = entities.Player(self.currentLevel, (3, 4, 60, 90)) # original speed settings for 30 FPS # #if self.FPS == 30: # self.player.maxSpeed = 16 # self.player.accel_amt = 3 # self.player.airaccel_amt = 2 # self.player.deaccel_amt = 10 # self.player.fallAccel = 4 # self.animation_speed = 0.015 # self.cameraObj = camera.Camera(self.player.rect, self.WINDOWWIDTH, self.WINDOWHEIGHT) self.OSD_text = hud.OSD() #dt = 0 # Game loop while True: self.keys = self.collect_input() self.player.update(self.keys, self.currentLevel) self.cameraObj.update(self.player.cameraRect, self.currentLevel) self.OSD_text.update(self) self.tilemap.set_focus(self.player.rect.centerx, self.player.rect.centery) # Fill the screen with an R,G,B color to erase the previous drawings self.screen.fill((0, 0, 0)) #draw the backgrounds, charater and then the blocks in that order self.tilemap.layers[0].draw(self.screen) self.tilemap.layers[1].draw(self.screen) draw.draw_entities(self.screen, (self.player, ), self.cameraObj) self.tilemap.layers[2].draw(self.screen) draw.draw_level(self.screen, self.currentLevel, self.cameraObj) # Refresh the display window. pygame.display.flip() if self.showText: draw.draw_OSD(self.screen, self.OSD_text.text) pygame.display.update() self.clock.tick(self.FPS)
def play_game(self): # Set up screen self.screen = pygame.display.set_mode((self.WINDOWWIDTH, self.WINDOWHEIGHT), self.FLAGS) pygame.display.set_caption("2D Platforming Test") self.clock = pygame.time.Clock() # Set up objects self.tilemap = tmx.load("level_1.tmx", self.screen.get_size()) self.currentLevel = level.Level("levels/level_1.lvl") self.player = entities.Player(self.currentLevel, (4, 56, 60, 90)) self.tilemap.set_focus(self.player.rect.centerx, self.player.rect.centery) # self.currentLevel = level.Level("levels/level_2.lvl") # self.player = entities.Player(self.currentLevel, (3, 4, 60, 90)) # original speed settings for 30 FPS # # if self.FPS == 30: # self.player.maxSpeed = 16 # self.player.accel_amt = 3 # self.player.airaccel_amt = 2 # self.player.deaccel_amt = 10 # self.player.fallAccel = 4 # self.animation_speed = 0.015 # self.cameraObj = camera.Camera(self.player.rect, self.WINDOWWIDTH, self.WINDOWHEIGHT) self.OSD_text = hud.OSD() # dt = 0 # Game loop while True: self.keys = self.collect_input() self.player.update(self.keys, self.currentLevel) self.cameraObj.update(self.player.cameraRect, self.currentLevel) self.OSD_text.update(self) self.tilemap.set_focus(self.player.rect.centerx, self.player.rect.centery) # Fill the screen with an R,G,B color to erase the previous drawings self.screen.fill((0, 0, 0)) # draw the backgrounds, charater and then the blocks in that order self.tilemap.layers[0].draw(self.screen) self.tilemap.layers[1].draw(self.screen) draw.draw_entities(self.screen, (self.player,), self.cameraObj) self.tilemap.layers[2].draw(self.screen) draw.draw_level(self.screen, self.currentLevel, self.cameraObj) # Refresh the display window. pygame.display.flip() if self.showText: draw.draw_OSD(self.screen, self.OSD_text.text) pygame.display.update() self.clock.tick(self.FPS)
def play_game(self): # Set up screen self.screen = pygame.display.set_mode((self.WINDOWWIDTH, self.WINDOWHEIGHT), self.FLAGS) pygame.display.set_caption('2D Platforming Test') self.clock = pygame.time.Clock() # Set up objects self.currentLevel = level.Level("lib\\level_1.lvl") self.player = entities.Player(self.currentLevel, (10, 9, 60, 90)) # original speed settings for 30 FPS if self.FPS == 30: self.player.maxSpeed = 16 self.player.accel_amt = 3 self.player.airaccel_amt = 2 self.player.deaccel_amt = 10 self.player.fallAccel = 4 self.animation_speed = 0.015 self.cameraObj = camera.Camera(self.player.rect, self.WINDOWWIDTH, self.WINDOWHEIGHT) self.OSD_text = hud.OSD() # Game loop while True: self.keys = self.collect_input() self.player.update(self.keys, self.currentLevel) self.cameraObj.update(self.player.cameraRect, self.currentLevel) self.OSD_text.update(self) draw.draw_level(self.screen, self.currentLevel, self.cameraObj) draw.draw_entities(self.screen, (self.player,), self.cameraObj) if self.showText: draw.draw_OSD(self.screen, self.OSD_text.text) pygame.display.update() self.clock.tick(self.FPS)