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

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

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

Регистрация: Oct 2008
Сообщений: 4
Отправить сообщение для topinambur с помощью ICQ
Post Импорт SWF во FLEX, совместное использование функций

Здравствуйте

У меня возникла задача вставлять SWF на CS3 в флекс-приложение, вызывать функции SWF.

Написал простейший макет.

SWF часть:

Файл Game.as
Код AS3:
package {
	import flash.display.MovieClip;
 
	public class Game extends MovieClip implements IGame {
		public function hello():String {
			return "Hello, world!";
		}
	}	
 
}
Файл IGame.as
Код AS3:
package {
 
	interface IGame{
		function hello():String;
	}
 
}

Флекс часть:

Загрузка SWF:
Код AS3:
 
private function loadSWF():void{
	loader = new Loader();
       	var req:URLRequest = new URLRequest("http://localhost/swf/GameFrame/bin-debug/Game.swf"); 
	loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadSWFComplete); 
	loader.load(req);
}
И обработчик успешной загрузки:

Вот так работает:
Код AS3:
private function loadSWFComplete( event:Event ):void{
	var info:LoaderInfo = event.target as LoaderInfo;
        var str:String = info.content['hello']();
	Alert.show(str);
}
А через интерфейс почему-то нет:
Код AS3:
private function loadSWFComplete( event:Event ):void{
	var info:LoaderInfo = event.target as LoaderInfo;
	var loadable:IGame = info.content as IGame;
	if(loadable){
		var str:String = loadable.hello();
		Alert.show(str);
	}
}
Перелопатил уже пол-интернета, но решения так и не нашел. Почему же оно через интерфейс все-таки не работает?


Последний раз редактировалось topinambur; 29.11.2008 в 20:48.
Создать новую тему   Часовой пояс GMT +4, время: 14:04.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

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

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


 


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


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