2012-09-12 91 views
1

是否存在用於刪除Flash中未使用的庫項目的JFSL代碼?JSFL刪除未使用的庫項目

我知道你可以從閃存庫菜單中選擇「未使用的項目」,然後只需點擊刪除鍵。這很好,但我想自動執行此過程,因爲我必須在幾個項目中重複此操作。

謝謝提前!

-PAT

回答

0

link是用於管理和維護庫,使用這個你可以很容易地刪除未使用的項目教程。只需按照教程

+0

感謝NIlesh的迴應。我閱讀了本教程,並未發現使用JSFL刪除未使用項目的任何內容。但是,在第一段中,作者提到這是一個好的合作者的素質。也就是說,一個人「清楚地命名圖層和圖書館項目,刪除未使用的材料,保持文件夾的組織」老鼠!我真的很想這個嘖嘖。爲我工作!我懇求開始相信通過JSFL去除未使用的項目是Adobe忽視或決定反對的功能。再次感謝您的迴應! --Pat – Patrick

1

中提到的創建JFSL文件的步驟操作,我認爲您是正確的,並且刪除未使用的項目不可用。 在過去,還有一個不再可用的精簡選項。

因此,我可以找到的最佳解決方案是創建一個新文檔,並將舞臺上的所有內容複製到新文檔中。 它不理想,不會爲一切工作,但它會適用於某些項目。 你可以在這裏找到代碼: in this AS3 code blog

希望它有幫助。

+0

根據常見問題解答,您需要披露您與所提供鏈接的關聯。 – LittleBobbyTables

2

也許爲時已晚,但是這對我的作品:

for(var i=0;i<items.length;i++) 
    { 
     if (items[i].itemType=="graphic") 
     { 
     lib.deleteItem(items[i].name); 
     } 
    } 
0

這個問題被問在這裏回答:

var dom = fl.getDocumentDOM(); 
var items = dom.library.items; 
var lib= dom.library; 

//Look for Assets folder and remove 

for(var i=0;i<items.length;i++) 
{  
     if (items[i].name.indexOf("Assets") >= 0) 
     { 
     fl.trace(items[i].name+ " - target item found: Deleted"); 
     lib.deleteItem(items[i].name); 
     } 
} 

您也可以根據類型刪除項目Checking 'Use Count' for library items with JSFL

從那時起,有一些更新。 Flash Professional CC已經發布,最後還有一個新的JSAPI。該信息位於:

http://help.adobe.com/en_US/flash/cs/extend/WS849c47c2a95c1007-6e6f2af913b0a89ffd8-8000.html

- library.unusedItems只有在Flash Professional CC可用。

0

這個簡單的腳本將做的工作在Flash Pro的CC

var unusedArr = fl.getDocumentDOM().library.unusedItems; 

for(var i=0;i<unusedArr.length;i++) { 
    fl.trace('Item removed: '+unusedArr[i].name); 
    fl.getDocumentDOM().library.deleteItem(unusedArr[i].name); 
} 

fl.trace(unusedArr.length+' Items removed'); 
0

要跟進之前的建議,有時你會發現,當你刪除一些未使用的,還有一點變得閒置。我寫了一些循環直到所有未使用的代碼最終被刪除的代碼。如果你不需要遞歸方面,你可以刪除while循環。

var lib = fl.getDocumentDOM().library; 

while(lib.unusedItems.length > 0) 
{ 
    fl.trace("Deleting... " + lib.unusedItems.length + " items"); 
    var unusedArr = lib.unusedItems; 

    for(var i=0;i<unusedArr.length;i++) 
    { 
     var unused = unusedArr[i]; 
     fl.trace(" deleting " + unused.name); 
     lib.deleteItem(unused.name); 
    } 
}