Exemplo n.º 1
0
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
Exemplo n.º 2
0
 def __init__(self, window):
     self.window = window
     self.time = 0.0
     self.time_step = 1.0 / 60.0
     self.game = Game()