Генерация отдельных SWF с классами из FLA с большой библиотекой
Вопрос
У меня есть серия больших файлов 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? Кто / что вытирает связь?