自己要操作100多个fla相同格式的fla文件,把动作帧MC时间轴上的动作抽取到场景时间轴里面去,做了一个jsfl脚本的转化操作。PS:可使用Komodo Edit 这样一个软件进行编写
fl.outputPanel.clear();
var folderURI = fl.browseForFolderURL("选择模型文件夹,稍后进行批量转化");
var folderContents = FLfile.listFolder(folderURI);
var saveDir = "file:///D:/saveFolder/"; //转化后保存目录
if( FLfile.exists(saveDir)==false )
{
FLfile.createFolder(saveDir);
}
try
{
var fileName ;
for each(var o in folderContents)
{
if( o.indexOf('fla')>-1 )
{
fileName = folderURI+'/'+o;
transferFla(fileName);
}
//fl.trace(fileName);
}
}
catch(e)
{
alert("部分fla文件有异常"+e);
}
alert("转换后文件已保持到'"+saveDir+"'目录")
//转化函数
function transferFla(fileUrl)
{
var doc = fl.openDocument(fileUrl);//fl.getDocumentDOM();
fl.outputPanel.trace(doc.name);
var item = doc.library[0];//.timelines[0].layers[0].frames[0].elements[0].libraryItem;
//查找库中的Soilder MC
for each(var o in item)
{
if( o.name == 'Soilder' )
{
item = o;
break;
}
}
var ddoc = fl.createDocument("timeline");
ddoc.timelines[0].layers[0].locker = false;//设为不禁用
var len = 1;
var _actionCount = item.timeline.layers[1].frames.length;//动作数
for(var j=0;j<_actionCount-1;j++)
{
var _actionFrame = item.timeline.layers[1].frames[j];//动作
var _actionTimeline = _actionFrame.elements[0].libraryItem.timeline;//动作MC的时间轴
var _imgArr = _actionFrame.elements[0].libraryItem.timeline.layers[1].frames//动作MC的帧
_actionTimeline.currentLayer = 1; //当前活动层
for(var i=0;i<_imgArr.length;i++ )
{
if( _imgArr[i].startFrame == i )
{
_actionTimeline.copyFrames(i); //复制关键帧
ddoc.timelines[0].pasteFrames(len);//逐个粘贴帧
len ++;
}
}
}
ddoc.timelines[0].removeFrames(0);
fl.saveDocument(ddoc,saveDir+doc.name);
fl.closeDocument(doc);
fl.closeDocument(ddoc);
}
分享到:
相关推荐
jsfl脚本, 让fla 中的mc批量生成fla,并发布 减小手工修改,
大家Flash动画做了上千个,要发布产品了,于是研发主管...这个flash插件功能很简单,能够批量发布一个或多个文件夹下的fla文件,包括其子目录下的;设定好,让它慢慢发布就行了,还算实用,至少能满足我现在的工作。
JSFL解析fla的一篇论文,展示了flash的xml结构和相关编程方法。
flash命令集,可导出Flash资源,批量发布fla文件,批量设置fla文件,设置库资源的类绑定等功能。
一个jsfl脚本,运行后提示选择文件夹,该脚本会自动搜索文件夹下所有的fla文件,找到后打开该文件然后发布出swf文件。
1、将文件另存为:RandomNameLibaray.jsfl 2、在flash中直接运行命令 1、将文件另存为:RandomNameLibaray.jsfl 2、在flash中直接运行命令
/////////////////////////////////// // //1、将文件另存为:RandomNameLibaray.jsfl //2、在flash中直接运行命令 // //////////////////////////////////
FLASH操作评分常用JSFL,FLASH操作评分常用JSFL,可制作FLASH的自评分练习题,可制作FLASH的自评分练习题,可制作FLASH的自评分练习题,
flash 图片 批量 无损 png flash cs 如何能批处理 把库中的图片都改成无损Png
如果说AS是用来在SWF运行时运行的脚本,而jsfl则是在Flash编辑环境下运行的脚本。在这里我不想用太多专业的术语打击新手继续学习的信心,我想先带大家做一个非常简单的实验,可批量改名字
这是一个flashCS系列使用的jsfl...首先打开fla文档(该fla文档必须被保存过),之后双击运行该文件会将当前正在编辑的时间轴转换成位图序列。 适合flash移动开发、 flash网游素材制作和优化、 flash stage3D材质制作等
利用FLash Javascript 接口,写的一个在flash CS中使用的自动描边的命令。 可以将一个静态文本自动打散-》自动描边-》自动填充颜色,提高Flash制作效率。
由于工作需要重复地把序列图放到各个帧上,于是...3.打开一个fla文件; 4.导入序列图; 5.在库中选中刚才导入的序列图; 6.选择菜单-命令-Sort frames in layers; 7.可以看到时间轴中新建了一个图层,并且排好了图片。
jsfl中文帮助文档,Adobe官网最新版,Flash cs6(更新时间2013-6-+11)
解压后放在C盘。 然后通过flash打开。 选择需要批量发布fla的文件夹。 确定,即可将所有的fla文件都发布成swf文件。
jsfl技术文档(帮助文档) 官方中文版,内含示例
对.fla文件symbol一键九宫格化脚本
JSFL实用代码,复制可用!项目中常用!
1、打开含有连接类的Flash源文件; 2、输入想要查找的文件名(支持关键字); 3、路径输出再Flash工作台