Я пытаюсь получить доступ к функции в загруженном SWF-файле, имеющем внешний класс.
Это то, что я пробовал до сих пор, и это не игра в кости:
private function startLoad(){
var loader:Loader = new Loader();
var req:URLRequest = new URLRequest("one.swf");
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoadComplete);
loader.load(req);
}
private function onLoadComplete(e:Event):void{
var ClassDefinition:Class = e.target.applicationDomain.getDefinition("com.view.Creative") as Class;
var butn:MovieClip = new ClassDefinition(0,0);////0,0 is x and y cordinates I have in the "com.view.Creative" class
this.addChild(butn);
butn.setVar("one");////"setVar" is the function in my external swf with the class "com.view.Creative"
}
Это функция в com.view.Creative.as
public var storedVar:String
public function setVar(str:String):void{
this.storedVar = str;
trace(storedVar)
}
// Возвращает "ReferenceError: Ошибка # 1069: свойство setVar не найдено в com.view.Creative и значение по умолчанию отсутствует."
Это другой подход, который я использовал безуспешно
private function startLoad(){
var appDomain:ApplicationDomain = new ApplicationDomain();
var context:LoaderContext = new LoaderContext(false, appDomain);
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.load(new URLRequest("one.swf"), context);
}
private function completeHandler(event:Event):void {
var myGreet:Class = ApplicationDomain.currentDomain.getDefinition("com.view.Creative") as Class;
var app : MovieClip = new myGreet(0,0)
addChild(app);
app.setVar("one");////set var is the function in my external swf with the class "com.view.Creative" I am trying to access
//event.target.content.setVar("one");///this works if I am placing my "setVar" function on my "Main" Doc Class which I am trying to avoid///
}
Это функция в com.view.Creative.as
public var storedVar:String
public function setVar(str:String):void{
this.storedVar = str;
trace(storedVar)
}
// Возвращает "ReferenceError: Ошибка # 1069: свойство setVar не найдено в com.view.Creative и отсутствует значение по умолчанию.at com.util :: ClickArea / completeHandler () "
Для этого должно быть решение ..... Спасибо заранее!