Есть ли способ вызвать функцию внутри загруженного SWF-файла?Доступ к функции внутри загруженного .swf-файла?
В принципе, у меня есть .swf-файл (A), который загружает другой .swf-файл (B) ... Я бы просто хотел обработать B, как если бы это был какой-то другой экземпляр, добавленный в мой класс .swf "A" ...
Придется переделать "Погрузчик" с именем вашего .swf класса файла:
Loaded .swf класс:
package src {
import flash.display.MovieClip;
public class LoadedSWF extends MovieClip {
public function LoadedSWF() {
}
public function helloWorld():void
{
trace("hello world from loaded swf!");
}
}
}
Основной класс:
package src {
import flash.display.Loader;
import flash.net.URLRequest;
import flash.display.MovieClip;
import flash.events.Event;
public class Main extends MovieClip {
private var loader:Loader;
public function Main() {
loadSWF("LoadedSWF.swf")
}
private function loadSWF(url:String):void {
var urlRequest:URLRequest = new URLRequest(url);
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaded, false, 0, true);
loader.load(urlRequest);
addChild(loader);
}
private function onLoaded(e:Event):void {
var target:LoadedSWF = e.currentTarget.loader.content as LoadedSWF;
trace(target);
target.helloWorld();
addChild(target);
}
}
}
Просто для ясности, это не конкретное решение Flex, как предложено. Фактически, ни один из кодов здесь не относится к Flex и является прямым ActionScript 3, который будет компилироваться без импортированных библиотек Flex. – Aaron
Это очень помогает, спасибо. Я взял пример с target_mc и переработал его с моим именем класса .swf, и он сработал! – redconservatory
Отредактированная версия выше ... – redconservatory