Pull to refresh

О формате XFL

Reading time5 min
Views4.3K
По работе я часто работаю с форматом xfl, это новый формат исходных файлов Adobe Flash. Информация о том что представляет xfl уже писали на хабре. Я бы хотел углубиться дальше.

Ниже будет о внутренней структуре xfl файла, о структуре xml файлов внутри и о нескольких трудностях которые могут возникнуть при работе с xfl файлами.



XFL файл можно открыть обычным winrar'ом, так как по сути он является обычным zip архивом также как и гаджеты к примеру. XFL можно также сделать программой Adobe InDesign или вручную))). Внутри XFL файла будут след. файлы mimetype, DOMDocument.xml, и папка library.

1.

mimetype содержит внутри вот эту строчку: application/vnd.adobe.xfl, для обращения к xfl.

2.

DOMDocument.xml — это можно сказать наша главная сцена, ниже что внутри:

<DOMDocument width="681" height="851" xmlns="http://ns.adobe.com/xfl/2008/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://ns.adobe.com/xfl/2008/ ../Javascript/Scripts/XFL_schema.xsd" versionInfo="Saved by Adobe InDesign Version 6.0" xflVersion="1" creatorInfo="Adobe InDesign CS4"><br>    <media><br>        <DOMBitmapItem name="last page_back" originalCompressionType="lossless" href="LIBRARY/last%20page_back.png"/><br>    </media><br>    <symbols><br>        <Include href="LIBRARY/Page_1.xml"/><br>    </symbols><br>    <timelines><br>        <DOMTimeline name="Scene 1"><br>            <layers><br>                <DOMLayer name="Layer 1" color="#4FFF4F"><br>                    <frames><br>                        <DOMFrame index="0"><br>                            <elements><br>                                <DOMSymbolInstance libraryItemName="Page_1"><br>                                    <transformationPoint><br>                                        <Point x="340" y="425"/><br>                                    </transformationPoint><br>                                </DOMSymbolInstance><br>                            </elements><br>                        </DOMFrame><br>                    </frames><br>                </DOMLayer><br>            </layers><br>        </DOMTimeline><br>    </timelines><br></DOMDocument><br><br><br>* This source code was highlighted with Source Code Highlighter.


Кто знаком со flash сразу видит знакомую структуру где сначала указываеться размер странички
DOMDocument width="681" height="851"
далее про сам xfl и мы видим то что файл создан при помощи Adobe InDesign CS4.

  • В media указываются медиа файлы(изображение, музыка, видео). В нашем случае подгружаем картину из папки library, даем ей имя last page_back и указываем компрессию lossless.
  • В нашей библиотеке будет один символ — movie clip page_1 и он будет описан в подгружаемом xml файле page_1.xml из library.
  • Внутри page_1.xml будет иметь такую же структуру как файл описанный выше.
  • timelines — временная шкала
  • DOMTimeline — выбор сцены
  • layers — слои
  • DOMLayer — выбор слоя и цвета слоя который используется если выбрать только область видимости прорисовки.
  • frames — кадры
  • DOMFrame — номер кадра
  • elements — элементы размещенные на сцене
  • DOMSymbolInstance — имя элемента размещенного на сцене
  • transformationPoint — точка относительно которой происходит трансформация объекта.


3.

Папка Library содержит подгружаемые файлы last page_back.png и Page_1.xml(movie clip в библиотеке).

Если немного разобраться то структура файла вполне понятна, но представьте что у вас на сцене 1000 кадров с 1000 объектов, тогда редактирование в ручную сильно затрудниться.

Подводные камни XFL



Вы открываете XFL файл через flash, он сразу создает пустой документ и добавляет туда содержимое XFL файла с нужным размером странички, но вот шрифты которые использовались при создании XFL файла не отобразятся, а загрузятся те которые вы в последний раз использовали во flash. Это по моему является существенным минусом этого формата. Такое происходит если файл создается в другом редакторе, а в основном XFL и должен служить тем что нарисовал дизайнер и сохранил специально для человека занимающейся анимацией или программирование во flash.

Но есть и свою плюсы. XFL файлы весят меньше чем Fla, к примеру если взять FLA файл размером 800 кб, то аналогичный XFL будет 631 кб. XFL в отличии от FLA может редактировать любой что тоже является большим плюсом. Скорее всего XFL в скором будущем получит широкое распространение, но надо не забывать что это все таки архив и исходным файлом flash так и остался FLA, потому что XFL просто разархивировываеться во FLA и XFL нельзя компилировать.
Tags:
Hubs:
+3
Comments0

Articles