示例#1
0
    def __init__(self):
        super(Application, self).__init__()

        # setup our opengl requirements
        config = pyglet.gl.Config(depth_size=16, double_buffer=True)

        # create our window
        self.window = pyglet.window.Window(fullscreen=False,
                                           width=1024,
                                           height=768,
                                           resizable=True,
                                           vsync=False,
                                           config=config)

        # create a viewport
        self.viewport = RatioViewport(self.window, [[0.0, 0.0], [1.0, 1.0]])

        # create our input devices
        self.keyboard = Keyboard(self.window)
        self.mouse = Mouse(self.window)

        # setup our scene
        self.setup_scene()

        # setup our text
        self.setup_text()

        # listen for on_draw events
        self.window.push_handlers(on_draw=self.on_draw)

        # setup our update loop the app
        # we'll render at 60 fps
        frequency = 60.0
        self.update_delta = 1.0 / frequency

        # over-ride the frequency and render at full speed
        self.update_delta = -1

        # use a pyglet callback for our render loop
        pyglet.clock.schedule_interval(self.step, self.update_delta)