JSFL导出元件滤镜配置
最近在用Starling框架开发移动游戏,项目中因涉及到大量的动画特效,导致资源量很大,内存吃不消。后来想到一个办法,因为好多特效动画都只是有颜色上的区别。就写了一个jsfl来导出flash pro里仅仅做了颜色变化元件的配置文件。程序中通过读取配置文件对同一份资源进行调色重复利用。使资源量大大减小。
JSFL导出XML的方式为,先将要保存的XML输出在控制台,然后再通过 outputPanel对象保存。大概为:
fl.trace("<?xml version="1.0" encoding="utf-8"?>");fl.trace("<fliterList imageName=""+imageName+"">");fl.trace("<item colorID=""+element.name+"">");var filters=element.filters;if(filters!=null){ for(var i=0;i<filters.length;i++) { var node="<"+filters[i].name+" "; for (var prop in filters[i]) { node+=prop+"=""+filters[i][prop]+"" "; } node+="/>"; fl.trace(node); }} fl.trace("</item>");fl.trace("</fliterList>");var fileURL = fl.browseForFileURL("save", "save file");fl.outputPanel.save(fileURL);(详细脚本请见附件)<?xml version="1.0" encoding="utf-8"?><fliterList imageName="bomd"> <item colorID="green"> <adjustColorFilter name="adjustColorFilter" enabled="true" brightness="0" contrast="0" saturation="0" hue="-84" /> </item> <item colorID="red"> <adjustColorFilter name="adjustColorFilter" enabled="true" brightness="0" contrast="0" saturation="0" hue="140" /> </item> <item colorID="blue"> </item></fliterList>