Я нашел способ сделать это не извне.
Я публикую это в надежде, что это поможет кому-то еще, пытающемуся выяснить, как это сделать в самом программном обеспечении (Adobe Animate).
Вот фрагмент кода, который это делает (который не оптимизирован).
Кстати, действительно вдохновлен ответом на StackOverFlow (ссылку не помню).
var swfFolder = 'Path/to/SWF/Files'
var flaFolder = fl.browseForFolderURL('Path/to/FLA/Files');
var folderContents = FLfile.listFolder(flaFolder);
for(i = 0; i < folderContents.length; i++){
file = folderContents[i];
swfFilename = file.replace(".fla", ".swf");
file = 'Path/to/FLA/Files' + file;
fl.openDocument(file);
fl.getDocumentDOM().exportSWF(swfFolder + "/" + swfFilename, true);
fl.closeDocument(file);
}
У него есть некоторые проблемы. При первом запуске этого скрипта он откроет своего рода файл браузера, чтобы выбрать каталог, в котором расположены FLA-файлы. а затем нажимая ok
для каждого файла.
Но если вам нужен только скрипт, который экспортирует только один файл, приведенный выше код будет полезен:
var swfFolder = 'Path/to/SWF/Files';
var swfFilename = "exportedFile.swf";
fl.getDocumentDOM().exportSWF(swfFolder + "/" + swfFilename, true);
Чтобы полностью ответить на мой вопрос (внешнее выполнение кода, который экспортирует FLA-файлы в SWF-файлы), мы должны выяснить, как выполнить этот скрипт из командной строки (cmd в Windows). Затем, чтобы расширить его до папки с множеством файлов.fla, мы можем написать небольшой код Python, который вызывает скрипт для каждого файла каталога FLA.
Однако я не нашел, как этого добиться. Так что если у кого-то есть ответ на этот вопрос, дайте нам знать.
ИЗМЕНИТЬ
Чтобы вызвать сценарий JSFL для файла FLA, используйте:
Path\To\Animate.exe file.fla Path\To\file.jsfl
(Ссылка на ссылка)
Когда мне пришлось сделать скрипт Python для этой цели, вся эта команда у меня не работала, мне пришлось сначала открыть Adobe Animate
с моим fla-файлом, подождать несколько секунд (используя time.sleep()), а затем вызвать команду
Path\To\Animate.exe Path\To\file.jsfl
person
YYY
schedule
18.11.2019