[GroupLoad] CASA Lib AS3 Release 1.2.1 exemple
{
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);
}
}
}
