Могу ли я сохранить данные XML в формате .swf? - PullRequest
0 голосов
/ 09 июля 2011

У меня есть файл .swf, в котором все его активы загружены через xml, чтобы сделать файл модульным.Однако, когда я пытаюсь переместить опубликованный файл .swf в другой каталог, мне нужно взять с собой файл xml и все ресурсы вместе с дополнительным багажом.

Есть ли способ создать файл .swf, который может загружатьэти активы во время публикации, и сохранить их?В настоящее время я пытаюсь создать еще один .swf, загрузить его в него и использовать Adobe Air, чтобы обновить его со всем загруженным, но я не думаю, что это верное направление.

Я бы предпочелИзбегайте использования обертки, но если нет другого выбора, я посмотрю на него.

Ответы [ 3 ]

1 голос
/ 09 июля 2011

Вы можете встроить XML в скомпилированный SWF:

[Embed(source="data.xml", mimeType="text/xml")]
protected const XmlClass:Class;

var xml:XML = XML(new XmlClass());
trace(xml.toXMLString());

Или вы можете просто вставить XML в качестве члена класса ActionScript:

package
{

    public class XmlData
    {

        public static var xml:XML =
            <root>
                <child name="etc..." />
            </root>;
    }
}

Надеюсь, это поможет.

0 голосов
/ 09 июля 2011

Джейсон прав.Вы также можете встраивать (включать в скомпилированный .swf файл) свои растровые активы, используя

[Embed(source="asset.jpg")]
private var BitmapAssetClass:Class    

var myBitmapInstance1:Bitmap = new BitmapAssetClass();
var myBitmapInstance2:Bitmap = new BitmapAssetClass();

или векторные активы .swf, используя:

[Embed(source="assetLibrary.swf", symbol="myFlashCS4SymbolName")]
private var VectorAssetClass:Class    

var myVectorInstance1:Sprite = new VectorAssetClass();
var myVectorInstance2:Sprite = new VectorAssetClass();

addChild(myVectorInstance1);
addChild(myVectorInstance2);

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

hth Примечание: компиляция = публикация

0 голосов
/ 09 июля 2011

Просмотрите файлы ".sol". это более или менее переменная база данных для файлов Flash (некоторые флэш-игры используют их для хранения вашей информации для будущих посещений). Единственная проблема заключается в том, что если вы переместите программу на другой компьютер, она также должна будет переместиться. Кроме этого, я не знаю другого пути, но, возможно, кто-то другой мог бы?

Редактировать: после размышлений - может быть, вам было бы полезно изучить использование удаленной базы данных SQL для хранения вашей информации?

...