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 )
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()