示例#1
0
    def change_scene( self, type, map_file = False ) :
        if self.current_scene != 0 :
            self.current_scene.destroy()
        self.take_out_garbage()
        self.total_reset()
        if type == SCENE_TYPE_MENU or type == SCENE_TYPE_DEFETED :
            self.sound_handler.stop_music( 'demons_acecream' )
            self.sound_handler.stop_music( 'default' )
            self.sound_handler.play_music( 'default' )
            self.player_handler = PlayerHandler( self )
            self.check_joysticks()
            self.current_scene = MenuScene( self )

            if type == SCENE_TYPE_MENU:
                self.current_scene.run_top()
            elif type == SCENE_TYPE_DEFETED:
                self.current_scene.run_defeated()
            return True

        self.player_handler.check_player_opt_in( self.pressed_keys )
        if os.path.isfile( map_file ) == False :
            self.current_scene = 0
            return False

        with open (map_file, "r") as myfile :
            map_data = myfile.read().replace('\n', '')
            self.sound_handler.stop_music( 'demons_acecream' )
            self.sound_handler.stop_music( 'default' )
            self.sound_handler.play_music( 'demons_acecream' )
            self.current_scene = GameScene( self, self.world, json.loads( map_data ) )