JSFL:抑制/自动点击对话框

时间:2010-11-15 14:06:42

标签: flash dialog jsfl suppress

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

我的JSFL有上面的代码 在第3行,我得到一个对话框:
其标题为:“解决图书馆冲突” 两个单选按钮选项:“替换”,“不替换”
两个按钮:“ok”,“cancel”

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

我想要: 1.完全抑制这种对话框。
2.或以编程方式为这些对话框提供默认选项。

我如何使用JSFL?

2 个答案:

答案 0 :(得分:1)

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

当您使用JSFL(library.moveToFolder)将库项目移动到文件夹中相同项目的位置时,该项目将被替换,并且不会出现冲突对话框。

  1. 如果可能,请将所需的库项目从库的顶层移动到文件夹中。这只执行一次,是对库结构的永久性更改。
  2. 在脚本时,当您将每个项目添加到文档时,请调用library.moveToFolder(folderPath,itemPath,true);
  3. 这将覆盖文件夹中的项目并跳过提示
  4. 根据您的需要,您的确切方法可能会有所不同,但关键是在添加时图书馆顶部没有项目。先将它们移到其他地方。

    像往常一样向后弯曲Flash!希望这会有所帮助。

    P.S。,这也适用于向库中添加组件。

答案 1 :(得分: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