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]

 

复制代码
        public function set imgURL(value:String):void {
            _imgURL = value;
            loaderImage();
        }
        /**加载外部图片*/
        private function loaderImage():void {
            loader=new Loader();
            loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete);
            loader.load(new URLRequest(_imgURL));
        }
        private function onComplete(event:Event):void {
            //trace("加载内容数据:" + loader.contentLoaderInfo.bytes)
            loader2=new Loader();
            loader2.contentLoaderInfo.addEventListener(Event.COMPLETE,onComplete2);
            loader2.loadBytes(loader.contentLoaderInfo.bytes);
        }
        private function onComplete2(event:Event):void {
            this.addChild(loader2.content);
            trace(loader2.content);
        }
复制代码

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

复制代码
loader.content.x =  -  loader.content.width / 2;
            loader.content.y =  -  loader.content.height / 2;
            
            ui=new Sprite();
            ui.x=(stage.stageWidth)/2;
            ui.y=(stage.stageHeight)/2;
            ui.addChild(loader.content);
            this.addChild(ui);
复制代码
原文地址:https://www.cnblogs.com/keng333/p/2717155.html