Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 14.09.2010, 20:55
AlexsWulf вне форума Посмотреть профиль Отправить личное сообщение для AlexsWulf Найти все сообщения от AlexsWulf
  № 1  
Ответить с цитированием
AlexsWulf

Регистрация: Oct 2008
Адрес: Воронеж
Сообщений: 75
По умолчанию referenceerror error 1065 при загрузке внешней swf

Доброго времени суток.
Есть проект AS в FB. Требуется вместо подключенных swc к проекту подкружать их на этапе загрузки проекта.

Написал следующий код:
Код AS3:
package
{
	import by.typing.graphics.pixel.cursors.MoveCursor;
 
	import flash.display.Loader;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.IOErrorEvent;
	import flash.events.SecurityErrorEvent;
	import flash.net.URLRequest;
	import flash.system.ApplicationDomain;
	import flash.system.LoaderContext;
 
		[SWF(width="760", height="730", backgroundColor="0xF7F7F7")]
		public class testLibrary extends Sprite
		{
 
			// Массив адресов библиотек
			protected var libs:Array;
			// Индекс текущей библиотеки для загрузки
			protected var libsLoadIndex:Number;
			// Loader для загрузки библиотек
			protected var libLoader:Loader;
			// Имя класса основного приложения
			protected var mainApplicationClassName:String;
 
			// Запишем время старта и окончания загрузок
			protected var preloaderInitTime:Number;
			protected var loadAppCompleteTime:Number;
			protected var loadLibsCompleteTime:Number;
 
			public function testLibrary()
			{
				libs = new Array();
				//libs.push("http://cs4288.vkontakte.ru/u8322762/48edb8c2f31057.zip");
				libs.push("http://cs4288.vkontakte.ru/u8322762/3b560024de9455.zip");
 
				preloaderInitTime = (new Date()).getTime();
 
				libsLoadIndex = 0;
				//MonsterDebugger.trace(this, "1");
				libLoader = new Loader();
				libLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, libLoaderInitHandler);
				libLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, libLoaderErrorHandler);
				libLoader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, libLoaderErrorHandler);
				loadLibs();
			}
 
			protected function initial():void {
				trace(this,  libLoader.contentLoaderInfo.applicationDomain.hasDefinition('NewBUtAssets'); 
// Выдает true
				trace(this,  ApplicationDomain.currentDomain.hasDefinition('NewBUtAssets')); 
// Выдает false
				stage.addChild( new MoveCursor());
				stage.addChild( new NewBUtAssets());
				//stage.addChild(new Mars());
 
			}
 
 
			// Начинает загрузку библиотек
			public function loadLibs():void
			{
				loadAppCompleteTime = (new Date()).getTime();
				if (libs && libs.length > 0)
					loadLib();
				else
					libsLoaded();
			}
 
			// Загрузка текущей (libsLoadIndex) библиотеки
			protected function loadLib():void
			{
				var urlRequest:URLRequest = new URLRequest(libs[libsLoadIndex]);
				var loaderContext:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain);
				libLoader.load(urlRequest, loaderContext);
				//MonsterDebugger.trace(this, "2");
			}
 
			protected function libsLoaded():void
			{
				loadLibsCompleteTime = (new Date()).getTime();
				initial();
			}
 
			protected function libLoaderInitHandler(event:Event):void
			{
				//MonsterDebugger.trace(this, "3");
				libsLoadIndex++;
				if (libsLoadIndex == libs.length)
					libsLoaded();
				else
					loadLib();
			}
 
			protected function libLoaderErrorHandler(event:Event):void
			{
				trace("libLoaderErrorHandler: " + event);
			}
	}
}
Код AS3:
Подключены две библиотеки 
одна включена в код из нее вызывается stage.addChild( new MoveCursor()); 
 
у второй стоят надстройки что она внешняя из нее вызывается stage.addChild( new NewBUtAssets());
 
В результате выполнения падаем на stage.addChild( new NewBUtAssets()); 
с ошибкой ReferenceError: Error #1065: Переменная NewBUtAssets не определена.

во вложении полный код проекта с библиотеками

Подскажите в чем причина? Что сделано не так?
Заранее благодарю за ответ.
Вложения
Тип файла: rar testLibrary.rar (47.0 Кб, 53 просмотров)


Последний раз редактировалось AlexsWulf; 14.09.2010 в 21:03.
Старый 14.09.2010, 22:24
mayakwd вне форума Посмотреть профиль Отправить личное сообщение для mayakwd Посетить домашнюю страницу mayakwd Найти все сообщения от mayakwd
  № 2  
Ответить с цитированием
mayakwd
 
Аватар для mayakwd

Регистрация: Jul 2008
Адрес: t:2, x: 0.76
Сообщений: 553
Отправить сообщение для mayakwd с помощью ICQ Отправить сообщение для mayakwd с помощью Skype™
Код AS3:
var loaderContext:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain, SecurityDomain.currentDomain);
__________________
Блог, Twitter
Брюзга.

Старый 15.09.2010, 10:07
AlexsWulf вне форума Посмотреть профиль Отправить личное сообщение для AlexsWulf Найти все сообщения от AlexsWulf
  № 3  
Ответить с цитированием
AlexsWulf

Регистрация: Oct 2008
Адрес: Воронеж
Сообщений: 75
Большое спасибо.
Все заработало.

Создать новую тему Ответ Часовой пояс GMT +4, время: 17:33.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 17:33.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.