![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2014
Сообщений: 1
|
Есть 2 ролика: loader и movie. Нужно вызвать из подгружаемого ролика movie функцию loaderFunc, принадлежащую ролику loader.
loader.as: package { * import flash.display.MovieClip; import flash.display.Loader; import flash.display.LoaderInfo; import flash.net.URLRequest; * public class loader extends MovieClip { * private var loaderVar:String = "Task performed!"; * public function loader() { var loader:Loader = new Loader(); loader.load(new URLRequest("movie.swf")); stage.addChild(loader); } public function loaderFunc():String { return loaderVar; } } * } package { * import flash.display.MovieClip; import flash.events.Event; import flash.display.Loader; import flash.display.LoaderInfo; * public class movie extends MovieClip { * * public function movie() { root.addEventListener("allComplete", allCompleteHandler); } private function allCompleteHandler(e:Event):void { var loaderinfo:LoaderInfo = LoaderInfo(e.target); if(loaderinfo.loaderURL == "file:///D|/Inject/OwnTest/loader.swf") { var loaderClass:Class = loaderinfo.applicationDomain.getDefinition("loader") as Class; var loaderObject:Object = new loaderClass(); } } } * } Error: Error #2136: SWF-файл ***/movie.swf содержит недопустимые данные. at movie/allCompleteHandler() Наверное, из-за того что получается бесконечная рекурсия? Пробовал так: loader.as * * public function loader(flag:Boolean = true) { if(flag==true) lMovie(); } private function lMovie():void { var loader:Loader = new Loader(); loader.load(new URLRequest("movie.swf")); stage.addChild(loader); } public function loaderFunc():String { return loaderVar; } } * Не помогло. Заранее спасибо за помощь! |
![]() |
![]() |
Часовой пояс GMT +4, время: 22:17. |
|
|
« Предыдущая тема | Следующая тема » |
|
|