ATF批量导出工具
08 / 31, 2013
已经迁移到http://xyliu.sinaapp.com/?p=95
批量导出Atf的工具,使用是adobe atf 编码核心
先说一下关于atf的bug
当atf导出时候 启用了mips选项 会导致:
如果纹理问长方形时 上传会报错的bug
解决方法是把纹理改成正方形
来张截图
功能说明
输出平台选择
压缩体积,减小文件大小
mipmap设置
合并xml
支持jpg png 转换
图像尺寸自动纠正为2幂
图像自动转换为方形,解决atf上传时 为长方形会报错的bug 仅在使用mips会触发 所以需要启用mips可以考虑勾选这个选项
目录转换(包含子目录)
输出质量设置
关于很多同学说导出的ATF报错的问题(只针对Starling)
其实问题很简单。了解Texture.fromAtfData
的几个参数就行了
我们这里只要注意第3
个参数
如果没有启用mips
那么第3
个参数必须传递false
否则报错
合并xml之后如何创建纹理
如果选择合并xml
,那么合并atf和xml产生的新文件会以.xatf
结尾
以下为.xatf
的解析代码
var urlLoader:URLLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.BINARY;
urlLoader.addEventListener(Event.COMPLETE,loaderComplete);
urlLoader.load(new URLRequest("asset/test.xatf"));
function loaderComplete(e:Event):void{
var bytes:ByteArray = urlLoader.data;
var xmlLength:int;
var xmlBytes:ByteArray = new ByteArray();
var atfBytes:ByteArray = new ByteArray();
bytes.position = bytes.length - 4;
xmlLength = bytes.readUnsignedInt();
bytes.position = bytes.length - xmlLength - 4;
bytes.readBytes(xmlBytes,0,xmlLength);
bytes.position = 0;
bytes.readBytes(atfBytes,0,bytes.length - xmlLength - 4);
if(AtfData.isAtfData(atfBytes)){
var texture:Texture = Texture.fromAtfData(atfBytes,2,false,null);
var textureAlats:TextureAtlas = new TextureAtlas(texture,XML(xmlBytes));
}
}
程序及源码下载
comments powered by Disqus