Показать сообщение отдельно
Старый 08.10.2009, 19:35
Peregrin вне форума Посмотреть профиль Отправить личное сообщение для Peregrin Найти все сообщения от Peregrin
  № 1  
Ответить с цитированием
Peregrin
 
Аватар для Peregrin

Регистрация: Nov 2006
Адрес: Hamburg
Сообщений: 195
Отправить сообщение для Peregrin с помощью ICQ
По умолчанию Embed(soure) и Embed(soure, symbol). Почему такая разница?

Добрый день, хочется разобраться кое в каком вопросе. Не буду много писать, сразу начну с примера.
Во Flash IDE хранится элемент с идентификатором Element, который реализует одноименный класс. В классе реализованы несколько функций, свойств, которые должны свободно вызываться из флекса (swf-файл называется library.swf и находится в папке assets).

В самом флексе я пишу:
Код AS3:
[Embed(source="assets/library.swf#Element")]
private var ElementClass:Class;
 
private var element:MoveiClipLoaderAsset;
 
protected override function createChildren():void
{
	element = new ElementClass();
	addChild(element);
}
Тут выбрасывается ошибка. То есть такой метод не работает (флекс не имеет доступ к описанию класса Element.as)
Но если поменять первую строчку на
Код AS3:
[Embed(source="assets/library.swf")]
А в самом library.swf поместить элемент Element на stage, то никаких ошибок не выдается и с этим элементом можно работать и использовать его функции.
Бывают ситуации, когда использование элементов библиотеки крайне желательно по сравнению с созданием отдельных swf'ок для каждого элемента.