Включить данные XML (или JSON) во время публикации - Flash

У меня есть.fla, который открывается, несколько переменных ActionScript (URL, заголовок и т. Д.) Изменяются и публикуются. Это часто случается, и это одни и те же переменные. Я бы просто сохранил файл.swf вместе с файлом XML, но он загружался на стороннюю платформу, поэтому вся информация должна содержаться в файле.swf. Нет возможности добавить информацию о переменной на сторонний сайт.

Я хочу знать, есть ли способ получить информацию о новой переменной из файла XML или что-то во время публикации (например, сценарий?) Без необходимости открывать Flash IDE. Быть способным сделать кучу всего этого также было бы здорово.

Любая помощь / ссылки / ведет будут оценены. Гугл мне не помог. Это вообще возможно?

1 ответ

Решение

Без открытия Flash IDE потребуется загрузка внешних ресурсов или сценария сборки с использованием ANT или просто с mxmlc компилятор, что-то вроде:

mxmlc -o output.swf -source-path="src/" -library-path+=library.swc. 

Как вы указали встраивание XML во время компиляции, вы можете встраивать XML, используя [Embed] тег метаданных или вставьте свой XML в классе.

Вставить XML

package
{
    public class XmlData
    {
        [Embed(source = "data.xml", mimeType = "application/octet-stream")]
        public static const Xml:Class;
    }
}

Чтобы использовать XML, создайте экземпляр xml как:

var xml:XML = new XML( new XmlData.Xml );

Переменная XML

В противном случае вы можете просто вставить свой xml в класс следующим образом:

package
{
    public class XmlData
    {
        public static const xml:XML =
            <root>
                <element />
                <element attribute="value">data</element>
            </root>;
    }
}

Несмотря на то, что вы должны скомпилировать SWF, этот подход прост, потому что вы можете просто вставить свой XML-документ в класс.

Это будет упоминаться как нормальное с e4x и без асинхронной нагрузки.

var data:String = XmlData.xml.element.@attribute;
Другие вопросы по тегам