[GroupLoad] CASA Lib AS3 Release 1.2.1 exemple

package
{

        import flash.display.MovieClip;

        import flash.events.Event;
        import flash.events.HTTPStatusEvent;
        import flash.events.IEventDispatcher;
        import flash.events.IOErrorEvent;
        import flash.events.SecurityErrorEvent;
       
        import flash.system.ApplicationDomain;
       
        import org.casalib.events.LoadEvent;
        import org.casalib.load.DataLoad;
        import org.casalib.load.GroupLoad;
        import org.casalib.load.SwfLoad;

        public class Main extends MovieClip
        {
               
                protected var _groupLoad:GroupLoad;
                protected var _groupLoadSwfContent:SwfLoad;
                protected var _groupLoadSwfFooter:SwfLoad;
                protected var _groupLoadSwfHeader:SwfLoad;
                protected var _groupLoadSwfMenu:SwfLoad;
                protected var _groupLoadSwfSound:SwfLoad;
                protected var _groupLoadXmlData:DataLoad;
               
                protected const CONTENT_SWF_PATH:String = ’swf/content.swf’;
                protected const FOOTER_SWF_PATH:String = ’swf/footer.swf’;
                protected const HEADER_SWF_PATH:String = ’swf/header.swf’;
                protected const MENU_SWF_PATH:String = ’swf/menu.swf’;
                protected const SOUND_SWF_PATH:String = ’swf/sound.swf’;
                protected const DATA_XML_PATH:String = ‘xml/data.xml’;
               
                protected var domainContent:ApplicationDomain;
                protected var domainFooter:ApplicationDomain;
                protected var domainHeader:ApplicationDomain;
                protected var domainMenu:ApplicationDomain;
                protected var domainSound:ApplicationDomain;
               
                protected var xmlData:XML = new XML();
               
                public function Main():void
                {       
                        _groupLoadSwfContent = new SwfLoad(CONTENT_SWF_PATH);
                        _groupLoadSwfFooter = new SwfLoad(FOOTER_SWF_PATH);
                        _groupLoadSwfHeader = new SwfLoad(HEADER_SWF_PATH);
                        _groupLoadSwfMenu = new SwfLoad(MENU_SWF_PATH);
                        _groupLoadSwfSound = new SwfLoad(SOUND_SWF_PATH);
                        _groupLoadXmlData = new DataLoad(DATA_XML_PATH);
                       
                        _groupLoad = new GroupLoad();
                        _groupLoad.addLoad(_groupLoadSwfContent);
                        _groupLoad.addLoad(_groupLoadSwfFooter);
                        _groupLoad.addLoad(_groupLoadSwfHeader);
                        _groupLoad.addLoad(_groupLoadSwfMenu);
                        _groupLoad.addLoad(_groupLoadSwfSound);
                        _groupLoad.addLoad(_groupLoadXmlData);
                        addGroupLoadDispatcher(_groupLoad);
                        _groupLoad.start();
                }
               
                protected function addGroupLoadDispatcher(dispatcher:IEventDispatcher):void
                {       
                        dispatcher.addEventListener(SecurityErrorEvent.SECURITY_ERROR, _groupLoadSecurityError);
                        dispatcher.addEventListener(IOErrorEvent.IO_ERROR, _groupLoadIoError);
                        dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, _groupLoadHttpStatus);
                        dispatcher.addEventListener(LoadEvent.PROGRESS, _groupLoadProgress);
                        dispatcher.addEventListener(LoadEvent.COMPLETE, _groupLoadComplete);
        }
               
                protected function removeGroupLoadDispatcher(dispatcher:IEventDispatcher):void
                {
                        dispatcher.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, _groupLoadSecurityError);
                        dispatcher.removeEventListener(IOErrorEvent.IO_ERROR, _groupLoadIoError);
                        dispatcher.removeEventListener(HTTPStatusEvent.HTTP_STATUS, _groupLoadHttpStatus);
                        dispatcher.removeEventListener(LoadEvent.PROGRESS, _groupLoadProgress);
                        dispatcher.removeEventListener(LoadEvent.COMPLETE, _groupLoadComplete);
        }
               
                protected function _groupLoadSecurityError(evt:Event):void { trace(’securityError: ‘+evt); }
                protected function _groupLoadIoError(evt:Event):void { trace(‘ioError: ‘+evt); }
                protected function _groupLoadHttpStatus(evt:Event):void { trace(‘httpStatus: ‘+evt); }
                protected function _groupLoadProgress(evt:LoadEvent):void { trace(‘%: ‘+evt.progress.percentage); }
                protected function _groupLoadComplete(evt:LoadEvent):void
                {
                        domainContent = _groupLoadSwfContent.loader.contentLoaderInfo.applicationDomain;
                        domainFooter = _groupLoadSwfFooter.loader.contentLoaderInfo.applicationDomain;
                        domainHeader = _groupLoadSwfHeader.loader.contentLoaderInfo.applicationDomain;
                        domainMenu = _groupLoadSwfMenu.loader.contentLoaderInfo.applicationDomain;
                        domainSound = _groupLoadSwfSound.loader.contentLoaderInfo.applicationDomain;
                       
                        xmlData = XML(_groupLoadXmlData.data);
                       
                        removeGroupLoadDispatcher(_groupLoad);
                }
        }
}

Laisser un commentaire