2009-10-15 23 views
0

Я хочу загрузить 3 уникальных файла xml, а затем разобрать их отдельно.flash load multiple xml files

Теперь, если все 3 файла xml были успешно загружены & разобран. Я хочу go to frame 10 иначе stop и displaymessage.

xml.onLoad = function(success) { для одного XML

, если у меня есть три или более XMLs, как я могу знать, когда все было успешно считаны и обработаны, для навигации futher.

укажите коды образцов.

ответ

1

Один из способов сделать это - сохранить флаг для каждого документа XML, установленного в true после его загрузки. Также напишите функцию проверки, которая проверяет все три флага и переходит к кадру, если для всех 3 установлено значение true. Для каждого успешного события загрузчика установите флаг для этого документа XML, а затем вызовите функцию проверки.

Вот некоторый грубый псевдокод:

var xml1:XML; 
var xml2:XML; 
var xml3:XML; 

var xml1Loaded:Boolean = false; 
var xml2Loaded:Boolean = false; 
var xml3Loaded:Boolean = false; 

function checkAllLoaded():void { 
    if(xml1Loaded && xml2Loaded && xml3Loaded) { 
    gotoFrame(10); 
    } 
} 

xml1.onLoad = function(success:Boolean):void { 
    if(success) { 
    xml1Loaded = true; 
    checkAllLoaded(); 
    } 
} 
xml2.onLoad = function(success:Boolean):void { 
    if(success) { 
    xml2Loaded = true; 
    checkAllLoaded(); 
    } 
} 
xml3.onLoad = function(success:Boolean):void { 
    if(success) { 
    xml3Loaded = true; 
    checkAllLoaded(); 
    } 
} 

xml1.load(); 
xml2.load(); 
xml3.load(); 

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

0

Самым простым способом является просто создать три отдельных URLLoaders.

Это зависит от того, какой контент содержится в каждом XML-файле, насколько легко было бы использовать один обработчик событий и т. Д.