关于Starling中ATF的使用

阅读更多
大体就两种写法,和普通图片资源一样

一种就是Embed编译到文件里
[Embed(source="starling.atf", mimeType="application/octet-stream")]
public static const CompressedData:Class;

这种方法new CompressedData()得到的就是一个ByteArray;

另一种就是外部加载
var url : URLRequest = new URLRequest(path);
var loader : URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.BINARY;
loader.addEventListener(Event.COMPLETE, onCompleteHandler);
loader.load(url);
 
function onCompleteHandler(e : Event) : void{
  var bytearray : ByteArray = e.target.data;
  var test : Texture = Texture.fromAtfData(byteArray);
}



但是这里面还是遇到了些问题
就是,ATF文件加载有时候会报错
分别那我自己的实验了下(不一定代表所有,至少我的是这样)
图片用工具转成ATF文件
只要是没选mipmap的,图像都显示不了,不报错,不知道为啥
选了mipmap的 单独生成IOS平台的文件,加载时会报编码错误,所以只好选mipmap并且全平台的才好用,不过图片体积大了好多

你可能感兴趣的:(Starling,ATF,loader)