as3 跨域

package com.yumei.layout
{
	import com.greensock.events.LoaderEvent;
	import com.greensock.loading.ImageLoader;
	import com.greensock.loading.LoaderMax;
	import com.greensock.loading.MP3Loader;
	import com.greensock.loading.SWFLoader;
	import com.yumei.config.Config;
	import com.yumei.data.Mission;
	import com.yumei.event.ActionEvent;
	
	import flash.display.DisplayObject;
	import flash.display.Loader;
	import flash.display.LoaderInfo;
	import flash.display.MovieClip;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.ProgressEvent;
	import flash.net.URLLoader;
	import flash.net.URLLoaderDataFormat;
	import flash.net.URLRequest;
	import flash.system.ApplicationDomain;
	import flash.system.LoaderContext;
	import flash.system.Security;
	import flash.system.SecurityDomain;
	import flash.utils.getDefinitionByName;
	import flash.utils.getQualifiedClassName;
	import flash.utils.setTimeout;
	
	import org.aswing.ASColor;
	import org.aswing.ASFont;
	import org.aswing.EmptyLayout;
	import org.aswing.JLabel;
	import org.aswing.JPanel;
	import org.aswing.JProgressBar;
	import org.aswing.JWindow;
	import org.aswing.LayoutManager;
	import org.aswing.util.HashMap;
	
	public class LoadPanel extends JPanel
	{
		
		private var total:JLabel;
		private var startpanel:StartPanel;//开始界面
		private var preimages:HashMap=new HashMap();
		private var urlloader:Loader;
		private var resloader:Loader;
		private var testUrlLoader:URLLoader;
		public function LoadPanel()
		{
			
			setLayout(new EmptyLayout());
			setName("loadPanel");
			setSizeWH(Config.SWF_WIDTH,Config.SWF_HEIGHT);
			setLocationXY(0,0);
			Security.allowDomain("*");
			Security.allowInsecureDomain("*");
			flash.system.Security.loadPolicyFile("http://192.168.1.40:8080/crossdomain.xml");
			urlloader=new Loader();
			urlloader.load(new URLRequest("res/load.swf"));
			urlloader.contentLoaderInfo.addEventListener(Event.COMPLETE,over);				
			resloader=new Loader();
			resloader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,queueProgressHandler)
			resloader.contentLoaderInfo.addEventListener(Event.COMPLETE,imageCompleteHandler)
//			http://192.168.1.40:8080/MyDDing/fx/
//			var loadercontext:LoaderContext=new LoaderContext(true,ApplicationDomain.currentDomain);	
//			resloader.load(new URLRequest("http://192.168.1.40:8080/.../fx/zxyj5.swf"),loadercontext);
			testUrlLoader=new URLLoader();
			testUrlLoader.dataFormat=URLLoaderDataFormat.BINARY;
			testUrlLoader.addEventListener(Event.COMPLETE,testurlloaderok);
			testUrlLoader.load(new URLRequest("http://192.168.1.40:8080/..../fx/zxyj5.swf"));
			total=new JLabel();
			total.setSizeWH(500,30);
			total.setForeground(ASColor.BLACK);
			total.setLocationXY(200,450);
			this.append(total);
			this.setChildIndex(total,numChildren-1);
			//this.setChildIndex(total,numChildren-1);
		}
		public function testurlloaderok(ev:Event):void{
			var loader:Loader=new Loader();
			loader.contentLoaderInfo.addEventListener(Event.COMPLETE,test2);
			loader.loadBytes(testUrlLoader.data,new LoaderContext(false,ApplicationDomain.currentDomain));
	      
		}
		public function test2(ev:Event):void{
		
		    var mv:MovieClip=ev.target.content as MovieClip;
			trace(getQualifiedClassName(mv.getChildByName("sp7")));
		}
		public function over(ev:Event):void{
			var dis:DisplayObject=ev.target.content;
			this.addChild(dis);
			urlloader.contentLoaderInfo.removeEventListener(Event.COMPLETE,over);				
			
		}
		private function queueProgressHandler(event:ProgressEvent):void
		{
			var fo:ASFont=new ASFont("宋体",24);
			total.setFont(fo);
			total.setText(""+Math.round((event.bytesLoaded/event.bytesTotal)*100) + "%");
		
			//total.setText(""+event.target.progress);
			if(event.bytesLoaded==event.bytesTotal)
			{
				resloader.removeEventListener(ProgressEvent.PROGRESS,queueProgressHandler);
				
				
			}
		}
		private function imageCompleteHandler(ev:Event):void
		{
//					var myev:ActionEvent=new ActionEvent(ActionEvent.LOAD_COMPLETE);
//						myev.panel=new StartPanel();
//						ActionEvent.YUMEIEvent.dispatchEvent(myev);
		var mv:MovieClip=ev.target.content as MovieClip;
		Mission.source=mv;
		for(var i:Number=0;i<mv.numChildren-1;i++)
		{
		trace(mv.getChildAt(i)+"---"+mv.getChildIndex(mv.getChildAt(i))+"---"+mv.getChildAt(i).name);
		}
//		trace(mv.getChildByName("educationmodelbutton"));
	     var sp:Sprite=Mission.source.getChildByName("educationmodelbutton") as Sprite;
		 sp.x=200,sp.y=200,sp.width=100;sp.height=50;
		 this.addChild(sp);
//		 trace("----"+ApplicationDomain.currentDomain.getDefinition("educationmodelbutton"));
		 trace("----"+getDefinitionByName("main"));
			
			
		}

	}
}

 

你可能感兴趣的:(as3)