摘要:我现在主要的工作是负责做多媒体动画了,我不会绘画,也不懂设计,不过我会写程序。好呆也是做过.net编程的。
我现在主要的工作是负责做多媒体动画了,我不会绘画,也不懂设计,不过我会写程序。好呆也是做过.net编程的。
大家Flash动画做了上千个,要发布产品了,于是研发主管招唤大家一起发布,可我是个懒人,首先就想,有没有批量发布的程序。
网上搜了一下,还真有。是用jsfl写的。
代码看懂了,又找了些jsfl的教程看了看,于是决定扩展一下功能,写个flash插件出来,至少带个操作界面,用时方便,毕竟这个东东不只是我用。
这个flash插件功能很简单,能够批量发布一个或多个文件夹下的fla文件,包括其子目录下的;设定好,让它慢慢发布就行了,还算实用,至少能满足我现在的工作。
首先是一个UI。
PublishBatUI.xml <?xml version="1.0" encoding="utf-8"?> <dialog buttons="accept, cancel" title="批量编译Flash文档" > <vbox> <checkbox id="cbSubDir" label="是否包括子文件夹" checked="true" accesskey="s" /> <!--<checkbox id="cbOnlyUnpublished" label="是否只发布更新过的Flash" checked="true" accesskey="u" />--> <label value="Flash文档所在路径: (多个路径请换行)" /> <!--<button target="mm" id="btnSelPath" label="选择文件夹"/>--> <textbox id = "tbPaths" size="100" height="300" multiline="true"/> <!-- <label value="发布后的路径:(默认为.fla文件的当前路径)" /> <textbox id = "pubpaths" size="100" multiline="false"/> <checkbox id="cbIsSaveFlaPath" label="是否按.fla文件存放路径,保存发布后的.swf文件" checked="true" accesskey="p" />--> <vbox> </dialog> 文件名,就是PublishBatUI.xml。 然后就是Jsfl代码了。 批量发布Fla.jsfl //批量发布Flash文件。 var tempDoc=undefined; if(fl.documents.length==0){ //xmlPanel need a document, if there is none, create a temp document tempDoc=fl.createDocument(); } //创建操作界面 useUI = fl.getDocumentDOM().xmlPanel(fl.configURI + "Commands/PublishBatUI.xml"); //计数 var pubNum=0; if(tempDoc){ //close temp document fl.closeDocument(tempDoc); } if(useUI.dismiss=="accept"){ //是否包括子目录 var isSubDir=useUI.cbSubDir; //fl.trace(isSubDir); //是否只发布更新后的 //var isOnlished=useUI.cbOnlyUnpublished; //源文件路径 var txtPaths=useUI.tbPaths.split("\r\n"); //打开选择窗 //var folderURI = fl.browseForFolderURL("请选择要编译的文件夹:"); //fl.trace(folderURI) for(var i=0; i<txtPaths.length; i++) { var path=txtPaths[i]="file:///"+txtPaths[i].split(":").join("|").split("\\").join("/"); pubBatFla(path,isSubDir); } fl.trace("操作完成,累计生成"+pubNum+"个。"); } // //批量发布Fla文件 //flaDir:fla所在的文件夹; //isSubDir:是否编译子文件夹下的fla,true为编译为子文件夹; function pubBatFla(flaDir,isSubDir) { //当前目录下的文件 var files= FLfile.listFolder(flaDir,"files"); for (var i=0; i<files.length; i++) { pubFla(flaDir+"/"+files[i]); } //不再编译子文件夹 if(!isSubDir)return; //当前目录下的子目录 var subDir= FLfile.listFolder(flaDir,"directories"); for (var j=0; j<subDir.length; j++) { pubBatFla(flaDir+"/"+subDir[j],isSubDir); } } //发布fla文件 //fileURL:完整的Fla文件路径 function pubFla(fileURL) { if(fileURL.indexOf(".")>-1) { //当前文件后缀名 var flExt= fileURL.substr(fileURL.lastIndexOf(".")); //如果是fla文件,则执行发布 if(flExt.toLowerCase() == ".fla"){ var doc=fl.openDocument(fileURL); doc.publish(); doc.close(); pubNum++; } } }
文件名保存为“批量发布Fla.jsfl”
将两个文件放置到如下目录下:
如果是Flash8,放到C:\Documents and Settings\Administrator\Local Settings\Application Data\Macromedia\Flash 8\zh_cn\Configuration\Commands
如果是Flash CS3,放到C:\Documents and Settings\Administrator\Local Settings\Application Data\Adobe\Flash CS3\zh_cn\Configuration\Commands
重新打开Flash,不管是flash8还是flash cs3,在其主菜单“命令”中,都会看到“批量发布fla”的命令。
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标常用软件Flash频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号