自己要操作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,并发布 减小手工修改,
"批量发布FLA文件"指的是利用自动化脚本或工具一次性地将多个FLA文件转换为SWF文件,而不是逐一手动操作。这在大型项目或者需要更新多个文件的情况下非常有用,能够极大地节省时间和工作量。 在给定的压缩包中,`...
JSFL可以实现这一过程的自动化,编写一个简单的脚本,就能按照预设参数批量发布FLA文件,大大节省时间。 三、批量设置FLA文件 对于有大量FLA文件的工作环境,统一设置文件的属性(如舞台大小、帧率、背景色等)是一...
1. **打开脚本**:首先,找到并双击`批量命链接名.jsfl`文件,这将在Flash中运行脚本。如果你的Flash没有自动打开,你需要手动打开它并选择“窗口”>“扩展”>“脚本编辑器”来查看和运行脚本。 2. **设置参数**:...
大家Flash动画做了上千个,要发布产品了,于是研发主管...这个flash插件功能很简单,能够批量发布一个或多个文件夹下的fla文件,包括其子目录下的;设定好,让它慢慢发布就行了,还算实用,至少能满足我现在的工作。
JSFL解析fla的一篇论文,展示了flash的xml结构和相关编程方法。
至于提供的压缩包文件"flash批量改名命令_1608030025",它可能包含了示例的JSFL脚本或者相关的资源文件,比如示例Flash项目,用于演示如何使用这个批量改名命令。在实际操作时,你可以解压文件,查看其中的内容,...
5. **批量转换**:一旦文件夹被选定,脚本会遍历其中的所有FLA文件,并按照预设的发布设置将它们转换为SWF。发布设置可能包括分辨率、质量、压缩选项等,这些可以在脚本中进行定制。 6. **结果确认**:最后,所有...
1. **发布文件夹里的所有flash.jsfl**:这个脚本可能用于批量发布多个Flash项目,将所有的FLA文件转换为SWF格式,并将它们保存到指定的输出目录。这对于需要一次性发布多个动画或者组件的情况非常有用。 2. **...
在这个场景中,`ui.zip_jsfl`可能包含了一个名为`导出.jsfl`的脚本,这个脚本的目的是自动化导出Flash Pro项目(FLA文件)中的所有图片资源,并根据FLA文件内的目录结构进行分类。 通常,FLA文件是Flash Pro的工作...
一个jsfl脚本,运行后提示选择文件夹,该脚本会自动搜索文件夹下所有的fla文件,找到后打开该文件然后发布出swf文件。
标题中的“快速将素材导入到同一个fla并链接(CS4)”指的是在Adobe Flash CS4专业版中批量处理素材并将其整合到一个FLA(Flash Authoring Environment)文件中的技术。这一过程通常是为了提高工作效率,特别是在处理...
1. **自动化工作流**:通过编写JSFL脚本,开发者可以自动化重复性任务,如批量导出所有符号,或者一键调整所有实例的大小和位置。 2. **自定义面板和工具**:JSFL允许创建自定义的面板和工具,用户可以根据需要定制...
而JSFL(JavaScript Flash Language)是Adobe Flash中用于扩展功能的脚本语言,它允许用户通过编写JavaScript脚本来自动化Flash的一些任务,例如批量处理文件、自定义工具栏以及修改FLA文件等。 JSFL作为Adobe ...
JSFL(JavaScript for Flash)是Adobe Flash Professional软件中使用的脚本语言,允许开发者使用JavaScript语法编程来控制Flash Professional界面和编辑环境。 2. 法律声明知识点:文档中提到,有关Adobe Flash ...
JSFL是一种基于JavaScript的脚本语言,它允许开发者通过编写代码来控制Flash IDE,包括创建、编辑和导出SWF文件,管理库资源,以及修改时间轴和图层。 2. **语法** JSFL语法与标准JavaScript类似,但包含了一些...
为了更好地理解脚本的运作,你可以打开`exportFilter.jsfl` 文件查看具体实现。这将帮助你学习如何在实际项目中使用JSFL进行自动化操作,提高工作效率。 此外,`exportFilter.jsfl` 文件可能也利用了Flash ...