压缩源文件的最好办法就是把不用的元件全部删除.这时候在library面板上选择"选择删除未使用元件",然后删除即可
但是这个方法在MX的时候,会把"在第一帧导出"但并未在场景上使用的元件也认为是未使用的.但在2004以后就有所改进.
不过还要注意几点
元件不在场景,且linkage没有选中"在第一帧导出",就认为这个元件 没被使用
任何位图元件,在场景中,只存在打散形态的(就是位图填充),这个位图元件就认为 没被使用
任何字体元件,不管有没有用,都认为 被使用了
任何引导层内的元件,虽然不会被发布,但都算 被使用了
顺便送一个jsfl,可以把整个文档,包括所有元件中的无用引导层全部删除,然后再选择删除未使用元件...嘿嘿
/*
Guide Layers Remover
*/
doit();
function doit()
{
var doc = fl.getDocumentDOM();
// clean library item
var lib = doc.library;
for(var i=0,is=lib.items; i<is.length; ++i)
{
switch (is[i].itemType)
{
case "movie clip":
case "graphic":
case "button":
lib.editItem(is[i].name);
removeGuideLayers();
break;
default: break;
}
}
// clean scene timeline
var ct = doc.currentTimeline;
for(var i=0; i<doc.timelines.length; ++i)
{
doc.currentTimeline = i;
removeGuideLayers();
}
doc.currentTimeline = ct;
}
function removeGuideLayers()
{
var t = fl.getDocumentDOM().getTimeline();
var i = t.layerCount;
while (--i>=0)
{
var ly = t.layers[i];
if (ly.parentLayer)
{
var ply = ly.parentLayer;
if ("guide" == ply.layerType || "mask" == ply.layerType)
{
i = getLayerIndex(ply);
continue;
}
}
if ("guide" == ly.layerType)
{
t.deleteLayer(i);
}
}
}
function getLayerIndex(ly)
{
var t = fl.getDocumentDOM().getTimeline();
for(var i=0; i<t.layerCount; ++i)
if(t.layers[i] == ly ) return i;
return -1;
}
但是这个方法在MX的时候,会把"在第一帧导出"但并未在场景上使用的元件也认为是未使用的.但在2004以后就有所改进.
不过还要注意几点
元件不在场景,且linkage没有选中"在第一帧导出",就认为这个元件 没被使用
任何位图元件,在场景中,只存在打散形态的(就是位图填充),这个位图元件就认为 没被使用
任何字体元件,不管有没有用,都认为 被使用了
任何引导层内的元件,虽然不会被发布,但都算 被使用了
顺便送一个jsfl,可以把整个文档,包括所有元件中的无用引导层全部删除,然后再选择删除未使用元件...嘿嘿
/*
Guide Layers Remover
*/
doit();
function doit()
{
var doc = fl.getDocumentDOM();
// clean library item
var lib = doc.library;
for(var i=0,is=lib.items; i<is.length; ++i)
{
switch (is[i].itemType)
{
case "movie clip":
case "graphic":
case "button":
lib.editItem(is[i].name);
removeGuideLayers();
break;
default: break;
}
}
// clean scene timeline
var ct = doc.currentTimeline;
for(var i=0; i<doc.timelines.length; ++i)
{
doc.currentTimeline = i;
removeGuideLayers();
}
doc.currentTimeline = ct;
}
function removeGuideLayers()
{
var t = fl.getDocumentDOM().getTimeline();
var i = t.layerCount;
while (--i>=0)
{
var ly = t.layers[i];
if (ly.parentLayer)
{
var ply = ly.parentLayer;
if ("guide" == ply.layerType || "mask" == ply.layerType)
{
i = getLayerIndex(ply);
continue;
}
}
if ("guide" == ly.layerType)
{
t.deleteLayer(i);
}
}
}
function getLayerIndex(ly)
{
var t = fl.getDocumentDOM().getTimeline();
for(var i=0; i<t.layerCount; ++i)
if(t.layers[i] == ly ) return i;
return -1;
}