class SceneManager:
def __init__(self):
self.current_scene = None
def change_scene(self, scene):
if self.current_scene is not None:
self.current_scene.exit_scene()
window.pop_handlers()
self.current_scene = scene
window.push_handlers(scene)
scene.enter_scene()
class Scene:
def enter_scene(self):
pass
def exit_scene(self):
pass
class SceneOne(Scene):
def __init__(self):
self.key_handler = key.KeyStateHandler()
def enter_scene(self):
window.push_handlers(self.key_handler)
def exit_scene(self):
window.pop_handlers()
def on_key_press(self, symbol, modifiers):
print('Here are all the keys that are being pressed ',
' '.join(key.symbol_string(key_pressed)
for key_pressed, state in self.key_handler.items()
if state is True)
)
if symbol == pyglet.window.key._1:
print("Going to scene 2.")
scene_mgr.change_scene(SceneTwo())
print()
return EVENT_HANDLED
class SceneTwo(Scene):
def on_key_press(self, symbol, modifiers):
print('Ole!')
return EVENT_HANDLED