def gameLoop(self, task): if defines.GAME_ONGOING == 0: return Task.done dt = globalClock.getDt() update_game_logic(self, dt) manage_contacts(dt) update_physics(dt) update_graphics(self) get_contacts_list() return Task.cont
currentEvents = pygame.event.get() # cache current events for event in currentEvents: if event.type == QUIT or \ (event.type == KEYDOWN and event.key == K_ESCAPE): run = False keyState = pygame.key.get_pressed() xDir = keyState[K_d] - keyState[K_a] yDir = keyState[K_SPACE] - keyState[K_LSHIFT] zDir = keyState[K_s] - keyState[K_w] direction = vectors.Vector([xDir, yDir, zDir]) if not direction.is_zero(): direction = direction.normalize() velChange = (player.get_velocity() - lastDirection*speed)\ .projected(vectors.Vector([1.0, 0.0, 0.0]), vectors.Vector([0.0, 0.0, 1.0])) if direction != lastDirection: player.add_velocity((direction - lastDirection )* speed - velChange) lastDirection = direction physics.update_physics(game) render.render(game) #print 'Pos:', player.get_pos().value pygame.quit()