Показать сообщение отдельно
Старый 03.09.2009, 21:23
veisss вне форума Посмотреть профиль Отправить личное сообщение для veisss Найти все сообщения от veisss
  № 8  
Ответить с цитированием
veisss

Регистрация: Jun 2009
Сообщений: 93
сама загруженная SWF является екземпляром Document Class-а того SWF.
то есть из внешней SWF мы можем вызвать паблик функции Document Class-а.

вот Document Class главного SWF

Код AS3:
package{
 
    import flash.display.*;
    import flash.events.*;
    import flash.net.*;
 
    public class MainFL extends MovieClip{
 
        private var url:String = "loadedFL.swf";
 
        public function MainFL(){
            var loader:Loader = new Loader();
            loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
            loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
            loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler);
            var request:URLRequest = new URLRequest(url);
            loader.load(request);
            loader.x=0;
            loader.y=0;
        }
        private function completeHandler(event:Event):void {
            MovieClip(event.target.content).setText("dddddddddddddd")
            trace("mainFL: loadCmplete");
            addChild(MovieClip(event.target.content));
        }
        private function ioErrorHandler(event:IOErrorEvent):void {
            trace("ioErrorHandler: " + event);
        }
        private function progressHandler(event:ProgressEvent):void {
            trace("progressHandler: bytesLoaded=" + event.bytesLoaded);
        }
    }
}
как видишь просто грузим SWF-ку

а ето Document Class загружаемого SWF

Код AS3:
package{
 
    import flash.display.*;
    import flash.events.*;
    import flash.geom.*;
 
    public class LoadedFL extends MovieClip{
        private var texH:TextHolder;
 
        public function LoadedFL(){
            texH=new TextHolder;
            addChild(texH);
            texH.x=100;
            texH.y=100;
        }
 
        public function setText(txt:String="default"):void{
            texH.txt.text=txt;
        }
    }
}