|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
|
Обращение к неопределённому методу в ссылке на подгружаемый swf
Loader'ом подгружается swf. В swf есть публичный метод: setLoc(xPos:int, yPos:int).
Можно обратиться к этому методу сразу: Однако, сохраняя ссылку на swf как Sprite: теряется возможность обращаться к публичному методу ибо метод сей в Спрайте не определён. Как быть в таком случае? Как получить ссылку на подгружаемую swf и иметь возможность обращаться к её публичным методам через эту ссылку?
__________________
Нормально делай — нормально будет! |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Интерфейс.
__________________
Reality.getBounds(this); |
|
|||||
Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
|
Спасибо. Немного подробнее?
Создаю интерфейс: Создаю ссылку на swf: var isetloc:ISetLoc; isetloc = LoaderInfo.content as ISetLoc; trace(isetloc); // null, далее ни addChild, ни setLoc Пока решил проблему так: Интересно узнать, есть ли более правильные способы.
__________________
Нормально делай — нормально будет! |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Есть. Интерфейс.
import ISetLoc; // переменная для использования как реализации интерфейса var linkToSwf:ISetLoc = Loader.content as ISetLoc; linkToSwf.setLoc(0, 0); // а для работы как с дисплейным объектом приводим к дисплейному типу (Спрайт, Мувиклип если надо) var swfClip:DisplayObject = Loader.content as DisplayObject; this.addChild(swfClip);
__________________
Reality.getBounds(this); |
|
|||||
Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
|
|
|
|||||
Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
|
Как DO всё работает, нет проблем, а вот как ISetLoc linkToSwf.setLoc(0, 0) отказывается, сославшись на null.
Спасибо, читаю!
__________________
Нормально делай — нормально будет! |
|
|||||
Есть ещё способ. Сделать swc с классами из swf-шки, но без вкомиливания в проект ( в фд "External library" ), типы будут объявлены в основной флешке, но сами классы станут доступными только после загрузки swf. После загрузки уже привести объект к нужному типу.
|
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
__________________
Reality.getBounds(this); |
|
|||||
Если подгружаемая SWF имеет другой ApplicationDomain то интерфейс не прокатит, пока приложение не будет загружено в тот же домен
Но что-то мне подсказывает, что Wolsh прав на счет применения интерфейса в документ классе |
|
|||||
Регистрация: Nov 2009
Адрес: в златоглавой
Сообщений: 745
|
Теперь ясно. Нет, не реализует. В данном случае хотел узнать способ обращения без изменения кода подгружаемой флешки.
__________________
Нормально делай — нормально будет! |
Часовой пояс GMT +4, время: 01:06. |
|
« Предыдущая тема | Следующая тема » |
|
|