2010-11-15 91 views
2
var tmpDoc = fl.createDocument(); 
/*..some logic...*/ 
tmpDoc.addItem({x:0,y:0},item); 

我的JSFL有上面的代碼。
和3號線,我得到一個對話框:
其中有標題:「解決庫衝突」
兩個單選按鈕選項:「替換」,「不取代」
兩個按鈕:「確定」,」取消「JSFL:抑制/自動點擊對話框

由於此對話框,我必須手動監視
腳本執行並單擊按鈕。

我想要:
1.完全抑制這些類型的對話框。
2.或以編程方式爲這些類型的對話提供默認選項。

我如何使用JSFL做到這一點?

回答

0

你可以嘗試檢查,如果該項目將其添加到使用庫的itemExists()函數庫之前就存在:

var doc = fl.getDocumentDOM(); 
var lib = doc.library; 
//check if the item already exists first, if so, keep count of symbols with the same name, append random, etc. 
if(!lib.itemExists('item')) lib.addNewItem('movie clip','item'); 
else      lib.addNewItem('movie clip','item'+Math.random()); 

HTH

1

我能解決這個問題。訣竅是,當您添加一個新項目時,即使在庫文件夾中某處存在「相同」項目,它也將停留在庫的頂層並查找衝突。

當您使用JSFL(library.moveToFolder)將庫項目移動到文件夾中同一項目的位置時,該項目將被替換,並且不會出現衝突對話框。

  1. 如果可能,請手動將所需的庫項目從庫的頂層移動到文件夾中。這隻會執行一次,並且是對您的庫結構的永久更改。
  2. 在腳本時間,當您將每個項目添加到文檔中時,調用library.moveToFolder(folderPath,itemPath,true);
  3. 這將覆蓋項目的文件夾中,並跳過提示

你確切的方法可以根據您的需要是不同的,但關鍵是能不能有一個項目在庫的頂部,而你正在增加。先把它們移到別的地方。

像往常一樣向後彎曲Flash!希望這可以幫助。

P.S.,這也適用於向庫中添加組件。

+0

從組件面板將組件添加到庫時,不再在CS6中工作。我發現的唯一解決方法是使用一些自動化軟件來專門點擊對話框。 – 2012-07-19 18:26:31