所以我有一个拥有大量资产的AS3闪存项目,目前大约有1000个,但可能会扩展到几千个。它们都是图像,但其中一半是动画GIF,因此我无法在运行时导入它们。我只考虑将它们拖入flash项目,但我似乎无法控制命名方案。基本上,我想知道的是:
有没有办法自动导入和重命名Flash资源,例如“导入这1000个文件并将其导出为具有此名称的Actionscript”?
此外,我有更好的方法来做这件事吗?我已经尝试了http://code.google.com/p/as3gif/ AS3GIF,但它与我正在使用的更大的GIF动画(650x450)相抗衡。任何帮助将不胜感激。
答案 0 :(得分:2)
Jsfl是你的朋友。 Jsfl是Flash IDE脚本语言,你可以自动化很多东西,比如重命名所有的lib剪辑:
function main()
{
var DOM = fl.getDocumentDOM();
var lib = DOM.library.getSelectedItems();
searchedClip = prompt("Search in clip name :");
if(searchedClip == null) return;
replaceClip = prompt("Replace by :");
if(replaceClip == null) return;
fl.outputPanel.clear();
nbRes = 0;
for(var i =0; i < lib.length; ++i)
{
name = lib[i].name.split("/");
name = name[name.length-1];
nIndex = name.toUpperCase().indexOf(searchedClip.toUpperCase());
if(nIndex != -1)
{
++nbRes;
fl.trace(lib[i].name);
lib[i].name = name.substring(0,nIndex) + replaceClip + name.substring(nIndex+searchedClip.length);
}
}
if(nbRes) fl.trace("\n"+nbRes+" results");
else fl.trace("no result");
}
main();
查看Flash IDE文档(http://livedocs.adobe.com/flash/9.0/main/flash_cs3_extending.pdf for CS3 Flash IDE Version)
答案 1 :(得分:0)
如果我没记错的话,如果所有的图像都被命名为“image0”,“image1”等,当你将第一个图像添加到Flash时,它会说“看起来像这个图像是一个顺序,你想要全部导入它们吗?“那需要一点时间。一旦他们进入,您可以按住Shift键单击以选择所有这些以给他们一个导出名称(如果您不想更改它,您可以保留他们的名字,它应该没问题。)
为什么不能再次在运行时加载这些? Flash甚至可以播放GIF动画,那么即使重要吗?导出具有许多图像的SWF将会降低您的工作效率,可能会损害您的计算机(当文件大小变大时,Flash会有点不稳定)。等待SWF在客户端下载将是一个杀手。特别是如果您的客户不打算查看所有图像 - 那么您将丢弃MB的带宽。
我要么在运行时加载它们(理想情况下 - 加载压缩的xml文件要快得多,容易),或者如果它们绝对必须在fla中,我会把它分解成倍数。