Пример #1
0
    def __init__(self, level_state):
        self.level = level_state
        self.level.map.load_graphics()

        self.map = self.level.map
        self.gfx_manager = GfxManager()

        pygame.time.set_timer(E_UPDATE_SPRITE_FRAMES, 200)
        pygame.time.set_timer(E_UPDATE_SPRITE_POSITIONS, 50)

        self.ui = TouhouUI(self.level)
        self.ui.generate_menus()

        self.event_catalog = {}
        self.assign_event_handler(QUIT, self.quit)

        self.assign_event_handler(
            E_UPDATE_SPRITE_FRAMES,
            self.map.frame_update)  # For animated sprites
        self.assign_event_handler(E_UPDATE_SPRITE_POSITIONS,
                                  self.map.update_objects)  # Movement
        self.assign_event_handler(E_USER_INPUT, self.ui_events)
        self.assign_event_handler(E_OBJECT_SIGNAL, self.object_events)
        self.assign_event_handler(KEYDOWN, self.ui.key_down)
        self.assign_event_handler(KEYUP, self.ui.key_up)
        self.assign_event_handler(MOUSEBUTTONDOWN, self.ui.update_mouse)
        self.assign_event_handler(MOUSEBUTTONUP, self.ui.update_mouse)
        self.assign_event_handler(MOUSEMOTION, self.ui.update_mouse)