下面是我整理的JSFL代码,使用Flash CS4 运行此脚本,会提示你指定目录,然后该工具会将该目录下所有PNG图片,分别导出独立SWF文件,这样做,

能大大降低用户进入游戏需要加载的美术资源量的大小,降低服务器CDN带宽成本,

JSFL的使用方法,我就不介绍了,大家百度下吧,挺简单的。

fl.outputPanel.clear();var resourcePath = fl.browseForFolderURL("请选择素材路径:");
//var swfPath = fl.browseForFolderURL("请选择生成swf文件的路径:");//var rootFolderEnd = resourcePath.lastIndexOf("/");
//var rootFolderName = resourcePath.substr(rootFolderEnd + 1, resourcePath.length - rootFolderEnd);
//fl.trace("rootFolderName: " + rootFolderName);//var swfChildPath = rootFolderName;
analyseFolder(resourcePath, "");//递归处理每个文件夹
function analyseFolder(folderPath, childFolderName) {fl.trace("文件夹: " + folderPath);/*if(childFolderName != "") {swfChildPath = swfChildPath + "/" + childFolderName;//fl.trace("创建文件夹:" + swfPath  + "/" + swfChildPath);FLfile.createFolder(swfPath  + "/" + swfChildPath);}*/// 获取文件列表var fileList = FLfile.listFolder(folderPath, "files");for(var i = 0; i < fileList.length; i++) {// 文件名var fileName = fileList[i];var filePath = folderPath + "/" + fileName;fl.trace("文件路径: " + filePath);var end = fileName.lastIndexOf(".");// 如果没有后缀或后缀不正确则略过if(end <= 0 || end == (fileName.length - 1)) {continue;}// 后缀var suffix = fileName.substr(end + 1, fileName.length - end);suffix = suffix.toLowerCase();// 不是PNG图片则略过if(suffix != "png") {continue;}// 不要后缀的文件名var shortName = fileName.substr(0, end);var dom = fl.createDocument();var lib = dom.library;// 导入图片dom.importFile(filePath, true);// 选择项
        lib.selectItem(fileName);if(lib.getItemType() == "bitmap"){// 使用photo(JPEG)压缩lib.compressionType="photo";lib.quality = 80;// 使用文档的压缩质量,可在导出时设置lib.useImportedJPEGQulity = true;}lib.selectItem(shortName);lib.setItemProperty("linkageImportForRS", false);lib.setItemProperty("linkageExportForAS", true);lib.setItemProperty("linkageExportInFirstFrame", true);lib.setItemProperty("linkageBaseClass", "flash.display.BitmapData");lib.setItemProperty("linkageClassName", "IMG_" + shortName);// 放到舞台上/*lib.addItemToDocument({x:0,y:0});dom.selectAll();dom.convertToSymbol("movie clip",shortName,"top left");lib.selectItem(shortName);lib.setItemProperty("linkageImportForRS", false);lib.setItemProperty("linkageExportForAS", true);lib.setItemProperty("linkageExportForRS", false);lib.setItemProperty("linkageExportInFirstFrame", true);lib.setItemProperty("linkageIdentifier", shortName);dom.selectAll();dom.deleteSelection();*///var createSWFPath = swfPath  + "/" + swfChildPath;//fl.trace("createSWFPath: " + createSWFPath + "/" + shortName + ".swf");
        dom.exportSWF(folderPath + "/" + shortName + ".swf", true);// 是否保存fla 文件//fl.saveDocument(dom, folderPath + "/" + shortName + ".fla");dom.close(false);}// 子文件夹var folderList = FLfile.listFolder(folderPath, "directories");for(var j = 0;j < folderList.length; j++) {var childFolder = folderList[j];fl.trace("文件夹: " + resourcePath + ", 子文件夹: " + childFolder);// 递归调用analyseFolder(folderPath + "/" + childFolder, childFolder);}
}

有需要的朋友,贴下来试试吧。

WebGame 客户端 美术资源处理之PNG批量导出SWF相关推荐

  1. jsfl批量导出swf

    var inputPath = "file:///E|/work/war_test/bin-debug/fla/fight/"; var exportPath="file ...

  2. 批量提取IE缓冲美术资源

    工具下载 麻蛋,本来是想用IE缓冲文件提取页游美术资源的 结果每次只能复制一张图片搞毛线啊 所以写了下面这个提取器 路径无论是 "/" 或 "\\" 都没所谓反 ...

  3. web.xml放在哪个目录下_美术资源标准(文件夹目录篇)

    前言 想了许久,最终决定以参与一款项目的过程来逐步解讲TA的相关知识点,这样会比较循序渐进的去了解TA. 首先,在项目的前期,TA是需要制定很多标准的,从目的上来讲大致可分为: 美术资源标准化,方便项 ...

  4. 如何管理大型游戏的美术资源工程

    1)如何管理大型游戏的美术资源工程 ​2)Google Play强制64位App相关问题 3)零散AssetBundle资源再打包疑问 4)Unity中Api Compatibility Level ...

  5. 次世代手游美术资源优化干货分享

    次世代,是日本流传过来的叫法,意思是下一个时代,未来的时代,常说的次世代科技,即指还未广泛应用的现金技术.后来这个名次变成了一个人们的习惯,将次世代变成一个名词,用来代表某类具备特定属性的游戏类型. ...

  6. 手游建筑美术资源_建筑商和机械手

    手游建筑美术资源 下面是命名的OOP方法,这我想在我的代码遵循一个简单的原则:这是一个动词 ,如果它操纵 ,这是一个名词 ,如果它的基础之上 . 而已. 两者之间什么都没有. 诸如saveFile() ...

  7. uaa 授权_使用UAA OAuth2授权服务器–客户端和资源

    uaa 授权 在上一篇文章中,我介绍了如何使用Cloud Foundry UAA项目启动OAuth2授权服务器,以及如何使用OAuth2授权代码流程中涉及的一些参与者来填充它. 我在Digital O ...

  8. 使用UAA OAuth2授权服务器–客户端和资源

    在上一篇文章中,我介绍了如何使用Cloud Foundry UAA项目启动OAuth2授权服务器,以及如何使用OAuth2授权代码流程中涉及的一些参与者来填充它. 我已经在Digital Ocean网 ...

  9. 基于cocos2dx的2D手游美术资源制作技术选型(1)(2)

     基于cocos2dx的2D手游美术资源制作技术选型(1)--UI.纹理格式.动画制作 - 宏波.王 一.在屏幕尺寸和分辨率变化不一的情况下,UI如何做机型适配? UI是应用的门户,相对来说IOS ...

最新文章

  1. oracle查询保留2位小数
  2. 分享Kali Linux 2016.2第45周VMware虚拟机
  3. 【图解篇】斯达康XV6700刷机超完整教程!!!
  4. 在Ubuntu虚拟机中编译运行C程序
  5. [完美]原生JS获取浏览器版本判断--支持Edge,IE,Chrome,Firefox,Opera,Safari,以及各种使用Chrome和IE混合内核的浏览器...
  6. 嵌入式linux截屏代码,嵌入式linux截屏程序
  7. 【java】java jps 命令
  8. 填坑-十万个为什么?(18)
  9. linux 环境下git的安装与配置
  10. 美国的时间格式 -- 复杂格式的日期转换 使用Date.parse(“复杂的格式”)方法。
  11. 数据库大实验展示(上)
  12. 德语语法笔记——形容词综述
  13. Windows系统中的睡眠时间和关闭屏幕时间的设置
  14. 强化学习(一):概述
  15. chrome浏览器上传文件延迟_谷歌Chrome上传文件未响应的解决办法
  16. Nginx域名配置详细介绍
  17. 鹤林全集·怡情枫林 | 第二篇——励志创造奇迹
  18. 阿里国际站新版关键词你升级了吗?
  19. Flask结合werobot实现微信公众号自动回复
  20. JavaWeb项目的发布

热门文章

  1. page fault in nonpaged area 蓝屏_记一次蓝屏0x00000050
  2. Zigbee系列(概览)
  3. java中的浮点计算
  4. 8张图带你理解Java整个只是网络(转载)
  5. Android学习笔记——Intents 和 Intent Filters(二)
  6. 浅谈Python Web的五大框架
  7. Java中Image类与ImageIcon类的区别
  8. 配置Java网络应用程序的开发框架
  9. Android 源码编译及常见错误及解决方法
  10. 解决vs2017不能添加引用问题