Показать сообщение отдельно
Старый 24.10.2011, 15:33
MrAngel вне форума Посмотреть профиль Отправить личное сообщение для MrAngel Найти все сообщения от MrAngel
  № 1  
Ответить с цитированием
MrAngel

Регистрация: May 2007
Сообщений: 21
Question Получение класса из загруженной swf

Зравствуйте! Прошу помочь тех, кто уже сталкивался с подобной проблемой, решить ее..

Собственно сначало код:
Код AS1/AS2:
//loader.swf грузит game.swf
 
var loaderContext : LoaderContext = new LoaderContext(true, ApplicationDomain.currentDomain);
 
gameLoader = new Loader();
gameLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, gameLoadComleteHandler);
gameLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, gameLoadProgressHandler);
gameLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, gameLoadErrorHandler);
gameLoader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, gameLoadComleteHandler);
 
gameLoader.load(new URLRequest(GAME_URL),loaderContext);
 
...
 
protected static function gameLoadComleteHandler(e:Event) : void {
 
    var GameClass:Class;
 
    try {
           getDefinitionByName("ru.unmedia.container.GameMain") as Class;
    } catch (e:Error) {
	log('definition not found','('+e.message+')');
    }
    if(GameClass)
    {
	gameMain = new GameClass();
			if(userDataLoaded){
				initGameScreen();
			}
			gameLoaded = true;
    }
}
теперь собсно трабл:
если в переменной GAME_URL передаешь адрес swf-файла относительно файла загрузчика(например loader.swf в одной папке с game.swf - тогда GAME_URL содержит просто "game.swf"), то все проходит без ошибок.

а если разместить swf-файл на каком-либо сервере и указать путь до него в переменной GAME_URL (например так: "www.mysite.ru/game.swf"), то возникает ошибка в строчке:
getDefinitionByName("ru.unmedia.container.GameMain") as Class;

ошибка: 'Error #1065: Переменная GameMain не определена.'