Генерация отдельных SWF с классами из FLA с большой библиотекой

StackOverflow https://stackoverflow.com/questions/4652883

Вопрос

У меня есть серия больших файлов FLA, которые публикуются в SWC, а затем используются непосредственно в Flash Project. Вероятно, в общей сложности 1000+ объектов. Поскольку число вырастает, что конечный компиляционный SWF становится довольно большим, поэтому я хочу загрузить отдельные SWF каждого объекта только по мере необходимости. Затем я должен быть в состоянии получить доступ и клонировать объект через Classname из финала в качестве проекта.

Проблема - это единственный способ, которым я обнаружил, чтобы экспортировать каждую 1) Копировать и вставить его в новый FLA File 2) Дважды щелкните, чтобы «отредактировать», чтобы заставить его включить, 3) Сброс названия ссылок (класса), поскольку Он был вытер, 4) опубликовать (т.е. файл-> публиковать) и назвать этот SWF.
Это займет довольно некоторое время за 1000+ из них.

Хотя вы можете щелкнуть правой кнопкой мыши на каждом элементе в библиотеке, чтобы сохранить его как SWF, кажется, не включает в себя классное значение и т. Д., Просто элемент. Как только я скачаю это, я не могу клонировать, чтобы использовать его более раз, не загружая его снова, что неприемлемо.

Есть ли более быстрый / лучший способ создать эти SWF?

(Я кратко посмотрел в XFL, но похоже, что написание сценария, чтобы сделать это, учитывая некоторые из неизвестных, что займет больше времени, а затем просто делает это вручную.)

Это было полезно?

Решение

Вы должны посмотреть на Jsfl. Что позволяет расширить вспышку / запись скрипта, который будет автоматизировать эту задачу для вас.

Например, вы можете написать скрипт, который циклирует сквозь элементы в библиотеке и экспортирует SWF только для домохозяйства, которые экспортируются для ActionScript и генерирует немного LoadeMax. код, который помещен в буфер обмена, когда экспорт завершен:

var doc   = fl.getDocumentDOM();
var dir   = 'file:///' + doc.path.substr(0,(doc.path.lastIndexOf('/')+1));
var lib   = doc.library;
var code  = 'var queue:LoaderMax = new LoaderMax({name:"queue"});\n';
var items = lib.items;
var iNum  = items.length;
var path;
var name;

fl.outputPanel.clear();

for(var i = 0 ; i < iNum ; i++){
    if(items[i].linkageExportForAS){
        name = items[i].linkageClassName;
        path = dir+name+'.swf';
        items[i].exportSWF(path);
        code += 'queue.append( new SWFLoader("'+name+'.swf", {name:"'+name+'"));\n';
    }
}

fl.clipCopyString(code);
fl.outputPanel.trace('symbols exported as swfs, code is in your clipboard');

Сохраните это как файл .jsfl, чтобы запустить его, поместите его в Flash (IDE) Команды Папка и она появится в меню команд в интерфейсе.

Это не идеально, но это дает представление о том, что можно сделать. Первое, что настроить рабочий процесс, который я представляю, то писать сценарии для него.

Там несколько вещей, которые я не понял, я пытаюсь сломать его:

У меня есть серия больших файлов FLA, которые публикуются в SWC, а затем используются непосредственно в Flash Project. Вероятно, в общей сложности 1000+ объектов. Поскольку число вырастает, что конечный компиляционный SWF становится довольно большим, поэтому я хочу загрузить отдельные SWF каждого объекта только по мере необходимости.

Таким образом, есть несколько FLA с активами, которые должны быть закодированы позже. Предлагаю, что SWC будет содержать несколько молицитов, экспортированных для ActionScript, и, вероятно, есть больше файлов FLA с различными типами активов.

Затем я должен быть в состоянии получить доступ и клонировать объект через Classname из финала в качестве проекта.

Вы имеете в виду инстанционные классы из SWF-файлов, используя GetDefinition. ?

Проблема - это единственный способ, которым я обнаружил, чтобы экспортировать каждую 1) Копировать и вставить его в новый FLA File 2) Дважды щелкните, чтобы «отредактировать», чтобы заставить его включить, 3) Сброс названия ссылок (класса), поскольку Он был вытер, 4) опубликовать (т.е. файл-> публиковать) и назвать этот SWF.

Для шага 1 вы не можете щелкнуть правой кнопкой мыши на MOVIECLIP и выберите ExportSWF / ExportsWC (в зависимости от того, что вам нужно)? Я не понимаю, что вы подразумеваете под «заставкой, включая его». Вы имеете в виду Tick Export для ActionScript? Кто / что вытирает связь?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top