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

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

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

Регистрация: Oct 2010
Сообщений: 67
По умолчанию Вызов функций flash из flex

много было подобных тем

http://www.flasher.ru/forum/showthread.php?t=136684
http://stackoverflow.com/questions/1...ith-swf-loader
http://help.adobe.com/en_US/flex/usi...9084-7f9c.html

но ни одна из них не привела к удовлетворяющему результату, примеры похожи, но есть маленькая особенность - созданный swfloader

проблема в следующем:
имеется созданный swfloader

Код AS3:
[Embed(source="StatApp.swf")]
private var classSwfStat:Class;
 
var swfLoad:SWFLoader;
swfLoad = new SWFLoader();
swfLoad.load(classSwfStat);
вопрос 1 - как отследить окончание загрузки приложения
Код AS3:
swfLoad.addEventListener(Event.COMPLETE, function():void {
		trace("complete");
	});
не работает

вопрос 2 - как для загруженного контента создать systemmanager, чтобы в дальнейшем можно вызывать функции во flash
Код AS3:
var loadedSM:SystemManager;
loadedSM = SystemManager(swfLoad.content);
не работает
Код AS3:
loadedSM = SystemManager(swfLoad.content.loaderInfo.content);
не работает

P.S. если flash загружается как
Код AS3:
swfLoad.source = "StatApp.swf";
, то все нормально, complete работает и sysytemmahager доступен по событию Event.COMPLETE
Код AS3:
loadedSM = SystemManager(e.target.content);
НО нужно именно чтоб работал первый способ с EMBED и созданный именно так, в коде (не в mxml документе)

Старый 07.11.2011, 12:16
Silicium вне форума Посмотреть профиль Отправить личное сообщение для Silicium Найти все сообщения от Silicium
  № 2  
Ответить с цитированием
Silicium
 
Аватар для Silicium

Регистрация: Sep 2010
Адрес: Ростов-на-Дону
Сообщений: 369
А что Вы хотите: эмбид - это вам не загрузка. По сути в данном случае loader выступает в роли контейнера типа UIComponent для объектов типа MovieClip. Там внутри (не помню точно где) есть что-то типа:
Код AS3:
if (source is Class)
      this.content = new value();
а при передаче в source эмбиженной флешки как раз класс и передается. Тут вообще по сути можно без лоадера обойтись - написать "загрузчик" самому.

Старый 07.11.2011, 13:00
Lexxx_HU вне форума Посмотреть профиль Отправить личное сообщение для Lexxx_HU Найти все сообщения от Lexxx_HU
  № 3  
Ответить с цитированием
Lexxx_HU

Регистрация: Oct 2010
Сообщений: 67
Код AS3:
loadedSM = SystemManager(swfLoad.content);
тоже не работает, даже если мы заменим
Код AS3:
swfLoad.load(classSwfStat);
на
Код AS3:
swfLoad.source = classSwfStat;
Добавлено через 1 час 21 минуту
проблему решил кодом отсюда
http://www.actionscript.org/forums/s...49&postcount=4

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

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

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


 


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


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