Динамическое изменение ссылочного XML-файла во Flash AS3? - PullRequest
1 голос
/ 29 сентября 2010

По сути, у меня есть носители, которые анализируются и воспроизводятся по ссылке на документ XML с использованием AS3.Эти медиа-файлы будут разделены на отдельные XML-файлы, тогда я планировал просто динамически изменить, на какой XML-файл ссылаются.Проблема в том, что код запускается только один раз во втором кадре, и я не могу понять, как переключить XML-файл на другой при срабатывании события.«новый URLRequest (www.blah.com/theotherXMLfile.xml)» не работает ... нужно ли перезагружать целую строку кода, чтобы перейти в другой документ XML?

Я будунапишите код, если вам это нужно ...

Ответы [ 2 ]

2 голосов
/ 29 сентября 2010

Не уверен, что это то, о чем вы просили, но для обновления XML вам понадобится URLLoader, чтобы перезагрузить файл и затем повторно проанализировать документ XML.

edit

Здесьэто быстрый пример того, как повторно использовать URLRequest.Я надеюсь, что я не внес в него никаких синтаксических ошибок, у него был более длительный разрыв AS ..: P

private var dataUrl:URLRequest;
private var xmlLoader:XMLLoader;
private var xmlDoc:XML;

private function init ():void
{
    dataUrl = new URLRequest( ... );

    xmlLoader = new XMLLoader( dataUrl );
    xmlLoader.addEventListener( Event.COMPLETE, parseXML );
}

public function reloadXML ()
{
    xmlLoader.load( dataUrl );
}

private function parseXML ( event:Event )
{
    xmlDoc = new XML( xmlLoader.text );

    // do something else, for example update UI etc.
}
1 голос
/ 29 сентября 2010

Вы можете загрузить новый XML с тем же URLLoader

var xmlLoader:URLLoader = new URLLoader();
xmlLoader.addEventListener(Event.COMPLETE , completeHandler );
// configure your other listeners here for IOError etc...
var request:URLRequest;

function loadXML(url:String ):void
{
    request = new URLRequest(url);
    xmlLoader.load(request );
}


...