class GameScreen(object): def __init__(self, window): self.window = window self.time = 0.0 self.time_step = 1.0 / 60.0 self.game = Game() def step(self, dt): # Use fixed time step. self.time += dt while self.time >= self.time_step: self.time -= self.time_step self.game.step(self.time_step) def on_draw(self): glPushMatrix() glTranslated(self.window.width / 2.0, self.window.height / 2.0, 0.0) self.game.on_draw() glPopMatrix() def on_key_press(self, symbol, modifiers): if symbol == pyglet.window.key.ESCAPE: self.window.pop_screen() if symbol == pyglet.window.key.UP: self.game.ship.thrust = 1.0 if symbol == pyglet.window.key.DOWN: self.game.ship.thrust = -0.5 if symbol == pyglet.window.key.SPACE: self.game.ship.firing = True if symbol == pyglet.window.key.LEFT: self.game.ship.turn = 1.0 if symbol == pyglet.window.key.RIGHT: self.game.ship.turn = -1.0 if symbol == pyglet.window.key.ENTER: self.game.ship.toggle_towline() def on_key_release(self, symbol, modifiers): if symbol == pyglet.window.key.UP: self.game.ship.thrust = 0.0 if symbol == pyglet.window.key.DOWN: self.game.ship.thrust = 0.0 if symbol == pyglet.window.key.SPACE: self.game.ship.firing = False if symbol in (pyglet.window.key.LEFT, pyglet.window.key.RIGHT): self.game.ship.turn = 0.0
def __init__(self, window): self.window = window self.time = 0.0 self.time_step = 1.0 / 60.0 self.game = Game()