Flash 生成单个SWF';这是佛罗里达大学的一个大图书馆
我有一系列大型fla文件,它们被发布到swc中,然后直接用于flash项目。可能总共有1000多个对象。随着数量的增长,最终编译的swf变得相当大,因此我只想根据需要下载每个对象的单个swf。然后,我需要能够通过类名从最终的AS项目访问和克隆对象 这个问题是我找到的导出每个问题的唯一方法,1)复制并粘贴到新的fla文件中2)双击“编辑”以强制包含它,3)重置擦除后的链接(类)名称,4)发布(即文件->发布)并命名此swf。Flash 生成单个SWF';这是佛罗里达大学的一个大图书馆,flash,publish,flash-cs5,classname,Flash,Publish,Flash Cs5,Classname,我有一系列大型fla文件,它们被发布到swc中,然后直接用于flash项目。可能总共有1000多个对象。随着数量的增长,最终编译的swf变得相当大,因此我只想根据需要下载每个对象的单个swf。然后,我需要能够通过类名从最终的AS项目访问和克隆对象 这个问题是我找到的导出每个问题的唯一方法,1)复制并粘贴到新的fla文件中2)双击“编辑”以强制包含它,3)重置擦除后的链接(类)名称,4)发布(即文件->发布)并命名此swf。 这将需要相当长的一段时间才能完成其中的1000多个 虽然您可以右键单击库
这将需要相当长的一段时间才能完成其中的1000多个 虽然您可以右键单击库中的每个项以将其保存为swf,但它似乎不包括类名等,只包括该项。一旦我下载了这个,我不能克隆使用它多次没有下载它再次是不可接受的 是否有更快/更好的方法生成这些swf (我确实简要地研究了xfl,但它看起来像是编写了一个脚本来完成这项工作,因为其中的一些未知因素比手工完成要花费更长的时间。)您应该了解一下,它允许您扩展Flash/编写一个脚本来自动完成这项任务 例如,您可以编写一个脚本,在库中的元素之间循环,并仅为针对actionscript导出的movieclips导出swf,并在导出完成时生成一段代码,放在剪贴板中:
var doc = fl.getDocumentDOM();
var dir = 'file:///' + doc.path.substr(0,(doc.path.lastIndexOf('/')+1));
var lib = doc.library;
var code = 'var queue:LoaderMax = new LoaderMax({name:"queue"});\n';
var items = lib.items;
var iNum = items.length;
var path;
var name;
fl.outputPanel.clear();
for(var i = 0 ; i < iNum ; i++){
if(items[i].linkageExportForAS){
name = items[i].linkageClassName;
path = dir+name+'.swf';
items[i].exportSWF(path);
code += 'queue.append( new SWFLoader("'+name+'.swf", {name:"'+name+'"));\n';
}
}
fl.clipCopyString(code);
fl.outputPanel.trace('symbols exported as swfs, code is in your clipboard');
var doc=fl.getDocumentDOM();
var dir='file://'+doc.path.substr(0,(doc.path.lastIndexOf('/')+1));
var lib=文档库;
var code='var queue:LoaderMax=新的LoaderMax({name:“queue”})\n′;
var items=lib.items;
var iNum=items.length;
var路径;
变量名;
fl.outputPanel.clear();
对于(变量i=0;i
将此文件另存为.jsfl文件以运行它,将其放置在Flash(IDE)的Commands文件夹中,它将在界面的Commands菜单中弹出
这并不完美,但它给出了一个可以做什么的想法。第一件事是建立一个工作流,然后为它编写脚本
但有几件事我不明白,我正试图把它分解:
我有一系列大型fla文件
已经被发布到swc的
然后直接在闪光灯下使用
项目,大概总共1000个+
对象。随着数字的增长,最终
编译后的swf变得相当大,所以
我想下载个人swf的
每个对象仅在需要时使用
因此,有些fla的资产需要在以后进行编码。
我想象一个swc将包含为actionscript导出的多个MovieClips
而且可能有更多的fla文件具有不同类型的资产
然后我需要能够访问和
从中通过类名克隆对象
期末考试作为一个项目
您的意思是使用swf文件实例化类吗
这个问题是我找到的唯一方法
要导出每个文件,请复制并
将其粘贴到新的fla文件中
单击“编辑”以强制执行
包括,3)重置悬挂机构(等级)
删除后的名称,4)发布
(即文件->发布)并将其命名为
主权财富基金
对于步骤1,是否可以右键单击MovieClip并选择ExportSWF/ExportSWC(取决于您的需要)?
我不明白你所说的“包括强制”是什么意思。
你的意思是为Actionscript勾选导出?谁/什么擦除了链接?你应该看看哪个允许你扩展Flash/编写一个脚本来自动完成这项任务
例如,您可以编写一个脚本,在库中的元素之间循环,并仅为针对actionscript导出的movieclips导出swf,并在导出完成时生成一段代码,放在剪贴板中:
var doc = fl.getDocumentDOM();
var dir = 'file:///' + doc.path.substr(0,(doc.path.lastIndexOf('/')+1));
var lib = doc.library;
var code = 'var queue:LoaderMax = new LoaderMax({name:"queue"});\n';
var items = lib.items;
var iNum = items.length;
var path;
var name;
fl.outputPanel.clear();
for(var i = 0 ; i < iNum ; i++){
if(items[i].linkageExportForAS){
name = items[i].linkageClassName;
path = dir+name+'.swf';
items[i].exportSWF(path);
code += 'queue.append( new SWFLoader("'+name+'.swf", {name:"'+name+'"));\n';
}
}
fl.clipCopyString(code);
fl.outputPanel.trace('symbols exported as swfs, code is in your clipboard');
var doc=fl.getDocumentDOM();
var dir='file://'+doc.path.substr(0,(doc.path.lastIndexOf('/')+1));
var lib=文档库;
变量代码='var queue:LoaderMax=新的LoaderMax({name:“queue”});\n';
var items=lib.items;
var iNum=items.length;
var路径;
变量名;
fl.outputPanel.clear();
对于(变量i=0;i
将此文件另存为.jsfl文件以运行它,将其放置在Flash(IDE)的Commands文件夹中,它将在界面的Commands菜单中弹出
这并不完美,但它给出了一个可以做什么的想法。第一件事是建立一个工作流,然后为它编写脚本
但有几件事我不明白,我正试图把它分解:
我有一系列大型fla文件
已经被发布到swc的
然后直接在闪光灯下使用
项目,大概总共1000个+
对象。随着数字的增长,最终
编译后的swf变得相当大,所以
我想下载个人swf的
每个对象仅在需要时使用
因此,有些fla的资产需要在以后进行编码。
我想象一个swc将包含为actionscript导出的多个MovieClips
而且可能有更多的fla文件具有不同类型的资产
然后我需要能够访问和
从中通过类名克隆对象
这个