コード例 #1
0
ファイル: window.py プロジェクト: thecyberwraith/akeldama
    def __init__(self):
        super(GameWindow, self).__init__(**window_params)
        logging.info('Initialized game window')
        self.push_handlers(InputReader())
        self.manager = SceneManager(self)
        self.manager.push_scene(MainMenu(self))
        self
        pyglet.clock.schedule_interval(self.update, 1/FPS)

        # Enable the alpha channel
        pyglet.gl.glEnable(pyglet.gl.GL_BLEND)
        pyglet.gl.glBlendFunc(
            pyglet.gl.GL_SRC_ALPHA,
            pyglet.gl.GL_ONE_MINUS_SRC_ALPHA
        )
コード例 #2
0
ファイル: window.py プロジェクト: thecyberwraith/akeldama
class GameWindow(pyglet.window.Window):
    '''See the akeldama.game.window module documentation'''

    def __init__(self):
        super(GameWindow, self).__init__(**window_params)
        logging.info('Initialized game window')
        self.push_handlers(InputReader())
        self.manager = SceneManager(self)
        self.manager.push_scene(MainMenu(self))
        self
        pyglet.clock.schedule_interval(self.update, 1/FPS)

        # Enable the alpha channel
        pyglet.gl.glEnable(pyglet.gl.GL_BLEND)
        pyglet.gl.glBlendFunc(
            pyglet.gl.GL_SRC_ALPHA,
            pyglet.gl.GL_ONE_MINUS_SRC_ALPHA
        )

    def set_fullscreen(self, *params, **attribs):
        super(GameWindow, self).set_fullscreen(*params, **attribs)
        self.manager.on_window_resize()

    def set_size(self, *params, **attribs):
        super(GameWindow, self).set_size(*params, **attribs)
        self.manager.on_window_resize()

    def update(self, dt):
        '''
        Called regularly by pyglet. Updates the SceneManager
        as well as the current scene. In the event that the
        SceneManager has no scene, then exit the game.
        '''
        scene = self.manager.current_scene

        if scene:
            scene.update(dt)
        else:
            logging.info('Scene manager contains no scenes. Quitting')
            pyglet.app.exit()