(转载)as3.0读取二进制文件
as3.0读取二进制文件
加载一个swf文件的示例,图片什么的也可以
package cn.rczjp{
import flash.display.Sprite;
import flash.events.Event;
import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequest;
import flash.display.Loader;
import flash.utils.ByteArray;
public class TestLoadBinary extends Sprite {
private var loader1:Loader;
private var loader2:Loader;
private var loader3:Loader;
public function TestLoadBinary() {
var urlrequest:URLRequest=new URLRequest("test.swf");
var urlloader:URLLoader=new URLLoader;
urlloader.dataFormat=URLLoaderDataFormat.BINARY;
urlloader.addEventListener(Event.COMPLETE,completeFunc);
try {
trace("加载中...");
urlloader.load(urlrequest);
} catch (err:Error) {
trace(err);
}
}
private function completeFunc(evt:Event):void {
trace("加载完毕!");
var BA:ByteArray=evt.target.data as ByteArray;
loader1=new Loader();
loader1.contentLoaderInfo.addEventListener(Event.COMPLETE,showFunc);
loader1.loadBytes(BA);//从 ByteArray 对象中所存储的二进制数据中加载
loader2=new Loader();
loader2.contentLoaderInfo.addEventListener(Event.COMPLETE,showFunc);
loader2.loadBytes(BA);
loader3=new Loader();
loader3.contentLoaderInfo.addEventListener(Event.COMPLETE,showFunc);
loader3.loadBytes(BA);
}
private function showFunc(evt:Event):void {
addChild(evt.target.loader as Loader);
evt.target.loader.y=100 * Math.random();
}
}
}