·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]AS3安全沙箱实现跨域加载swf,jpg,png,gif文件

时间:2016-11-17 16:12酷播
[AS3]AS3安全沙箱实现跨域加载swf,jpg,png,gif文件

我们在flash加载外部swf,jpg,png,gif时,经常出现安全沙箱错误,通过设置文件所在域的安全策略文件可以解决这个问题。但是有时我们需要加载我们没权限设置安全策略文件的域时,用下面这个方面可以帮你解决:
1、首先使用一个loader加载一个外部SWF,监听loader.contentLoaderInfo的Event.COMPLETE事件;
2、加载成功后,先暂时不使用这个加载成功的loader,而是另写一个loader2,使用loader2.loadBytes()来加载第一个loader的contentLoaderInfo.bytes,并监听Loader.contentLoaderInfo的Event.COMPLETE事件;
3、在第二个Loader加载成功后,就可以使用被加载的文件了;//loader.content==[Object MovieClip]

  1. public function set imgURL(value:String):void { 
  2.             _imgURL = value
  3.             loaderImage(); 
  4.         } 
  5.         /**加载外部图片*/ 
  6.         private function loaderImage():void { 
  7.             loader=new Loader(); 
  8.             loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete); 
  9.             loader.load(new URLRequest(_imgURL)); 
  10.         } 
  11.         private function onComplete(event:Event):void { 
  12.             //trace("加载内容数据:" + loader.contentLoaderInfo.bytes) 
  13.             loader2=new Loader(); 
  14.             loader2.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete2); 
  15.             loader2.loadBytes(loader.contentLoaderInfo.bytes); 
  16.         } 
  17.         private function onComplete2(event:Event):void { 
  18.             this.addChild(loader2.content); 
  19.             trace(loader2.content); 
  20.         } 

加载图像并让其绕中心点旋转

  1. loader.content.x =  -  loader.content.width / 2; 
  2.             loader.content.y =  -  loader.content.height / 2; 
  3.              
  4.             ui=new Sprite(); 
  5.             ui.x=(stage.stageWidth)/2; 
  6.             ui.y=(stage.stageHeight)/2; 
  7.             ui.addChild(loader.content); 
  8.             this.addChild(ui); 

 

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器