Skip to content

Instantly share code, notes, and snippets.

@btspoony
Created November 24, 2011 16:06
Show Gist options
  • Save btspoony/1391694 to your computer and use it in GitHub Desktop.
Save btspoony/1391694 to your computer and use it in GitHub Desktop.
FLA Exporting JSFL script
fl.outputPanel.clear ();
fl.compilerErrors.clear();
var file_path =
"file:///X:/SNSGameWorkspace/Vineyard/assets/GameDataAssets/MovieClip_fla/";
var output_path =
"file:///X:/SNSGameWorkspace/Vineyard/assets/GameDataAssets/MovieClip_fla/";
var logfile = "file:///X:/QA/Scripts/DailyVersion/GameDataAssetsLog.log";
fl.outputPanel.trace ("[ --------------------- CheckingFiles --------------------- ]");
exportlist=new Array();
checkFolder(file_path,output_path,exportlist,"true","true");
fl.outputPanel.trace ("[ --------------------- Exporting --------------------- ]");
var totaltime=0;
for (var i = 0; i < exportlist.length; i++)
{
fl.outputPanel.trace ("<" + (i+1) +"/"+exportlist.length+ "> - " + file_path + exportlist[i]+" -----
Exporting... ");
var path = file_path + exportlist[i];
var outputPath = output_path + exportlist[i].split(".")[0] + ".swf";
var t=exportswf(path,outputPath);
fl.outputPanel.trace ("Completed in "+formatTime(t));
totaltime+=t;
}
fl.outputPanel.trace("All done. Total time:"+formatTime(totaltime));
fl.outputPanel.save(logfile);
fl.compilerErrors.save(logfile, true);
function formatTime(num){
var h=Math.floor(num/3600000);
num=num%3600000;
var m=Math.floor(num/60000);
if(m<10){
m="0"+m;
}
num=num%60000;
var s=Math.floor(num/1000);
if(s<10){
s="0"+s;
}
num=num%1000;
//if(h>0){
return h+":"+m+":"+s+"."+num;
//}else if(m>0){
//return m+":"+s+"."+num;
//}else{
//return s+"."+num+"s";
//}
}
function exportswf(flapath,swfpath){
//return 0;
var stime=new Date().getTime();
var fla=fl.openDocument(flapath,true);
if(swfpath==undefined){
swfpath=flapath.substr(0,flapath.lastIndexOf("."))+".swf";
}
fla.exportSWF(swfpath,true);
fla.close(false);
var etime=new Date().getTime();
return etime-stime;
}
function checkFolder(folder,outputFolder,list,checkSub,checkSwf,pre){
if(pre==undefined){
pre="|-";
}
var flas=FLfile.listFolder(folder+"*.fla","files");
for(var i=0;i<flas.length;i++){
if(checkSwf=="true"){
var flatime=Number("0x"+FLfile.getModificationDate(folder+flas[i]));
var swfname=flas[i].substr(0,flas[i].lastIndexOf("."))+".swf";
if(FLfile.exists(outputFolder+swfname))
{
var
swftime=Number("0x"+FLfile.getModificationDate(outputFolder+swfname));
if(swftime<(flatime-100)){
list.push(flas[i]);
fl.outputPanel.trace(pre+flas[i]);
}
}
else
{
list.push(flas[i]);
fl.outputPanel.trace(pre+flas[i]);
}
}else{
list.push(flas[i]);
fl.outputPanel.trace(pre+flas[i]);
}
}
if(checkSub=="true"){
var flds=FLfile.listFolder(folder,"directories");
for(var i=0;i<flds.length;i++){
checkFolder(folder+flds[i]+"/",outputFolder+flds[i]+"/",list,checkSub,checkSwf,pre+"-");
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment