var tmpDoc = fl.createDocument();
/*..some logic...*/
tmpDoc.addItem({x:0,y:0},item);

我的JSFL具有上述代码。
在第三行,我得到了一个对话框:
标题:“解决图书馆冲突”
两个广播按钮选项:“替换”,“不要替换”
两个按钮:“确定”,“取消”

由于这个对话框,我必须手动监视
脚本执行并单击按钮。

我要这两个:
1.完全抑制这类对话框。
2.或编程提供此类对话框的默认选项。

我该如何使用JSFL?

有帮助吗?

解决方案

您可以尝试在使用Library的 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

其他提示

我能够解决这个问题。诀窍是,当您添加新项目时,它会降落在库的顶层,并在那里寻找冲突,即使在库文件夹中的某个地方有一个“相同的”项目。

而且,当您使用JSFL(Library.MovetOfter)将库项目移动到文件夹中同一项目的位置时,将更换该项目,并且不会出现冲突对话框。

  1. 如果可能,请手动将所需的库项目从库的顶层移动到文件夹中。这只能完成一次,是对您的库结构的永久更改。
  2. 在脚本时,当您将每个项目添加到文档中时,请致电库。movetOffOlter(folderpath,itempath,true);
  3. 这将覆盖文件夹中的项目并跳过提示

根据您的需求,您的确切方法可能有所不同,但是关键是在添加时不要将项目放在库的顶部。首先将它们移动到其他地方。

像往常一样向后弯曲以获得闪光灯!希望这可以帮助。

PS,这也适用于在库中添加组件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top