JSFL: подавление/автоматическое щелчок на диалоговые окна
Вопрос
var tmpDoc = fl.createDocument();
/*..some logic...*/
tmpDoc.addItem({x:0,y:0},item);
У моего JSFL есть приведенный выше код.
И на 3 -й строке я получаю диалоговое окно:
который имеет заголовок: «Разрешение библиотечного конфликта»
Два параметра радионогих: «Заменить», «Не заменяй»
Две кнопки: «ОК», «Отмена»
Из -за этого диалогового окна я должен вручную контролировать
Выполнение скрипта и нажмите кнопку.
Я хочу либо:
1. В целом подавляйте такого рода диалоговое окно.
2. или программатически предоставить опцию по умолчанию для такого рода диалогов.
Как мне сделать это с JSFL?
Решение
Вы можете попытаться проверить, существует ли элемент, прежде чем добавить его в библиотеку, используя библиотеку 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.MovetOfOlder) в местоположение того же элемента в папке, элемент заменяется, и не появляется диалоговое окно конфликта.
- Если возможно, вручную переместите элемент библиотеки, который вы хотите с верхнего уровня библиотеки в папку. Это делается только один раз и является постоянным изменением структуры вашей библиотеки.
- Во время сценария, когда вы добавляете каждый элемент в документ, вызовы библиотеки. MovetOfolder (FOLDERPATH, ITEMPATH, TRUE);
- Это перезаписывает элемент в папке и пропустит подсказку
Ваш точный подход может отличаться в зависимости от ваших потребностей, но ключ состоит в том, чтобы не иметь элементов в верхней части библиотеки, пока вы добавляете. Переместите их в другое место в первую очередь.
Как обычно, наклонившись назад для Flash! Надеюсь это поможет.
PS, это также работает для добавления компонентов в библиотеку.