每天学一点flash(85) jsfl 批量导出swf
?????? adobe ?jsfl 这个项目已经不再更新了,但是我 觉得对于游戏来讲,写一些jsfl打包一下资源也是挺方便的。因为实在好用。最近很忙,基本上每天都加班到10点以上才能回到宿舍,好吧,为了生活和理想,我想还是继续坚持下去。最近接了一个任务,需要把NPC的头像都打包成每一张swf,并添加帧链接为“head”,为每一个NPC头像改成swf方式。但是数目很大,每一张图片打包位图都是一项体力活。(O(∩_∩)O哈哈~ 为了偷懒,要想个办法)。 ???? 下面简单东拿西拿拼接了一下代码。实现了这个小小的功能。基本过程:导入文件夹,为每一张位图添加链接"head",然后导出swf,重置不勾选状态,并继续进行下一个位图导出。在导出的过程当中。可以对资源的质量进行设置一下, 这样子压缩就有效果了。 ???????? item.quality = 80; //设置质量为80 ???????如果,添加帧链接的时候不是指定的名字,那么也可以修改为 ??????????? item.linkageClassName =className ?????????? item.linkageExportInFirstFrame = true; ?????????? item.linkageURL=className; ????????? ?至于怎样改方便,凭自己自由组合。 ??????????? 好,该起床吃早餐了。 ? var ImageURL; browImageFile(); /*打开图片文件夹*/ function browImageFile() { fl.outputPanel.clear(); ImageURL= fl.browseForFolderURL("请选择素材文件夹"); if(ImageURL) importFolder(ImageURL); fl.trace(ImageURL); } /*导入文件夹*/ function importFolder(folderURI) { var dom = fl.getDocumentDOM(); var lib = fl.getDocumentDOM().library; fl.trace(folderURI); var folderContents; var fitem; var libPath = folderURI.replace(ImageURL,""); var subLibPath = libPath.substr(1); //去掉第一个“/” //文件 folderContents = FLfile.listFolder(folderURI,"files"); for (var i in folderContents) { fitem = folderContents[i]; var inx = fitem.lastIndexOf("."); if (inx > 0) { var ext = fitem.substr(inx+1).toLowerCase(); //扩展名 if (ext == "jpg" ||ext == "png" || ext == "gif") { fl.trace("导入文件:" + fitem); dom.importFile(folderURI + "/" + fitem,true); if (libPath != "") { lib.selectItem(fitem); lib.moveToFolder(subLibPath); } } } } alert("文件夹导入完成!"); addAllImagAsLink(); } /*给所有图片添加as链接*/ function addAllImagAsLink() { var doc=fl.getDocumentDOM(); var lib=doc.library; if(lib.items.length==0)return; for(i=0; i<lib.items.length; i++) { if(lib.items[i].itemType=="bitmap") { var item = lib.items[i]; var className ; item.linkageExportForAS = true; if(item.name.lastIndexOf(".")!=-1) { className = item.name.substr(0,item.name.lastIndexOf(".")); fl.trace("导出swf文件:"+className+"swf"); } item.linkageClassName ="head"; item.linkageExportInFirstFrame = true; item.linkageURL="head"; item.linkageBaseClass = "flash.display.BitmapData"; item.quality = 80; //设置质量为80 exportSwf(ImageURL+"/"+className); item.linkageExportForAS = false; } } delectLib(); } /*导出swf*/ function exportSwf(name) { fl.getDocumentDOM().setPlayerVersion(10); fl.getDocumentDOM().exportSWF(name,true); } /*删除所有*/ function delectLib() { var lib = fl.getDocumentDOM().library; lib.selectAll(); var selItems = lib.getSelectedItems(); if(!selItems) return ; for(var i=0;i<selItems.length;i++ ) { lib.deleteItem(selItems[i].name); } alert("删除库所有元件操作结束!"); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |