Обеспечивает анализ времени выполнения или времени компиляции и обработки активов SWF/SWC для использования с OpenFL. Затем можно использовать контент SWF для дизайна или (бета) анимации в проектах, развернутых для настольных, веб -целей, мобильных и консольных целей как в веб -и нативных технологиях.
Использование этой библиотеки для статического контента дизайна имеет послужной список в производстве. Использование этой библиотеки для анимации следует считать бета -версией и не может быть оптимизировано для производительности. Вклад в повышение производительности приветствуется!
В библиотеке есть три пути первичного кода:
Тип «SWF» обеспечивает полный анализ формата SWF/SWC (на основе оригинальной библиотеки AS3SWF от Claus Wahlers). Этот код оптимизирован главным образом для полноты и точности, а не для производительности. После того, как SWF полностью проанализирован, его можно экспортировать в новый оптимизированный формат выполнения (SWFLITE, Animate) или существует элементарное реализация, доступное для использования проповеденного SWF-контента непосредственно во время выполнения. Те, кто заинтересован в улучшении этого пути кода, может быть заинтересован в том, чтобы рассматривать https://github.com/openfl/openfl-player как начало тестирования и улучшения загрузки и воспроизведения SWF.
Тип "SWFLITE" - более старый формат экспортера, ранее интегрированный в OpenFL. Код существует в этой библиотеке в основном по историческим причинам. После анализа содержимого SWF с использованием пути кода «SWF» был сгенерирован новый формат с помощью сериализатора Haxe. Несмотря на размер выполнения и улучшения производительности на основе формата, зависимость от сериализации Haxe имела недостатки в обратной совместимости.
Тип «Animate» - это последний формат экспортера, а по умолчанию для всех целей. Он сочетает в себе преимущества формата «SWFLITE» во время записи в JSON и сжав все активы в один файл ZIP. Это может быть итеративно улучшено при сохранении обратной совместимости. Формат Macromedia SWF также имеет эти преимущества, однако он оптимизирован для времени выполнения, отличной от современных веб -браузеров. Например, изображения в файле SWF Macromedia, возможно, уже применили Alpha Alpha уже применять растровые карты. Не существует быстрого способа отображать это правильно, используя холст HTML5. Формат библиотеки Animate дает возможность предварительно обработать контент SWF в гибкий формат, оптимизированный для современного производственного использования.
Эта библиотека может автоматически называться инструментами командной строки OpenFL /Lime для обработки тегов <library /> , или ее можно использовать в командной строке для обработки файлов SWF в Animate Zip-файлы.
Во -первых, убедитесь, что <haxelib name="swf" /> был добавлен в ваш проект.
Затем вы можете добавить <library path="to/your.swf" preload="true" /> чтобы включить библиотеку SWF. Это будет доступно во время выполнения, используя имя файла SWF (за исключением «.SWF»), или вы можете добавить id="my-unique-id" чтобы указать пользовательское имя.
Существует параметр (бета) для generate="true" , чтобы сгенерировать классы haxe для каждого типа «Экспорт для ActionScript» в файле SWF. preload также является необязательной, но рекомендуется упростить использование.
Вы можете создать клип «Экспорт для ActionScript» из SWF, как это:
var clip = Assets . getMovieClip ( " my-swf:MyMovieClipName " );Если вы предпочитаете создать всю временную шкалу, используйте пустое имя клипа:
var timeline = Assets . getMovieClip ( " my-swf: " );Если вы используете опцию «генерировать», вы бы вместо этого создали новый экземпляр, как это:
var clip = new MyMovieClipName ();Вы также можете обрабатывать файлы из командной строки и загрузить их позже:
haxelib run swf process
haxelib run swf process path/to/swfs
haxelib run swf process test.swf
haxelib run swf process test.swf path/to/test.zip
haxelib run swf process test.swf output/pathНапример:
haxelib run swf process test.swfЭто генерирует файл «test.zip», который можно загрузить в течение времени выполнения:
import swf . exporters . animate . AnimateLibrary ;
import openfl . utils . Assets ;
...
AnimateLibrary . loadFromFile ( " path/to/test.zip " ). onComplete ( function ( library )
{
var clip = library . getMovieClip ( " MyMovieClipName " );
// or
Assets . registerLibrary ( " my-swf " , library );
var clip = Assets . getMovieClip ( " my-swf:MyMovieClipName " );
});Вы можете легко установить SWF с помощью haxelib:
haxelib install swf
Чтобы добавить его в проект Lime или Openfl, добавьте это в файл проекта:
<haxelib name="swf" />
Клонировать хранилище SWF:
git clone https://github.com/openfl/swf
Скажите Haxelib, где установлена ваша разработка копии SWF:
haxelib dev swf swf
Восстановите инструменты библиотеки SWF:
```bash
openfl rebuild tools
# or
cd swf
haxe rebuild.hxml
```
Чтобы вернуться к выпуску сборки:
haxelib dev swf