Как мы можем установить общие параметры публикации для Flash-проектов?

Во Flash 5.5 вы можете создавать флэш-проекты, которые позволяют вам совместно использовать библиотеки флэш-файлов во время производства. Это также позволяет вам публиковать все файлы вместе.

Я хочу, чтобы когда я публикую все документы flash fla, выходные файлы swf сохранялись в определенную папку. Я не могу найти способ сделать это автоматически, поэтому, если у вас есть 200 файлов, вам нужно перейти к каждому документу fla и изменить его настройки публикации. что как бы разрушает всю полезность проектов...

может быть возможно сделать это с помощью jsfl. однако предпочитаю делать это каким-то другим способом, чтобы наша команда художников могла продолжать работать так же, как и раньше.

Большое спасибо за ваше время и помощь заранее.


person tina nazarian    schedule 09.07.2012    source источник


Ответы (1)


Ответ на ваш вопрос: да, JSFL может сделать это за вас. Я приведу вам пример и постараюсь прокомментировать код jsfl как можно лучше, чтобы объяснить, что происходит. Не стесняйтесь задавать любые уточняющие вопросы.

Итак, давайте предположим, что у вас есть папка на вашем компьютере, которая содержит множество других папок, содержащих FLA-файлы. Этот код будет перебирать все папки в этой основной папке, назовем ее «allFLA», а затем выводить их в папку с именем «allSWFs». Приведенный ниже код сохранит исходные папки из всех файлов FLA во всех SWF-файлах. Таким образом, если файл FLA находится в папке allFLA/group1/file1.fla, то во всех SWF-файлах он будет иметь allSWFs/group1/file1.swf. Это так, если у вас есть файлы с одинаковыми именами, они не будут перезаписывать друг друга. Вы можете просто удалить + dirList[n] из строки exportSWF, и все SWF-файлы будут помещены в основную папку allSWFs.

Этот код не изменяет параметры публикации ни для одного из файлов, которые он запускает, и закрывает Flash IDE по завершении.

// Main folder that holds the folders containing all the FLA files.
var folder = 'file:///C:/path/to/main/folder/allFLAs';

if (!null) {
    // Create an array of all the folders that are contained in our main folder.
    var dirList = FLfile.listFolder(folder, 'directories');
    // Loop through each item in the array to find each FLA file.
    for (var n = 0; n<dirList.length; ++n) {
        // Create an array of all FLA files in the directory list array.
        var list = FLfile.listFolder(folder+'/'+ dirList[n] + '/*.fla', 'files');
        fl.outputPanel.trace('file:///C:/path/to/output/folder/allSWFs/'+ dirList[n]);
        // Create containing folder for this file based on the name of the folder in the directory list array, in the new output folder.
        FLfile.createFolder('file:///C:/path/to/output/folder/allSWFs/'+ dirList[n]);
        var flaName;
        var swfName;
        for (var i = 0; i<list.length; ++i) {
            flaName = list[i];
            swfName = list[i].split('.')[0]+'.swf';
            fl.outputPanel.trace(flaName+' exported as '+swfName);
            // open the document, publish to SWF, and close without saving.
            fl.openDocument(folder+'/'+ dirList[n] +'/'+flaName);
            fl.getDocumentDOM().exportSWF('file:///C:/path/to/output/folder/allSWFs/'+ dirList[n] + '/'+swfName, true);
            fl.closeDocument(fl.getDocumentDOM(), false);
        }
    }
}
fl.quit()
person kminke    schedule 19.12.2012