PDA

Просмотр полной версии : Как в один и тот же кадр грузить разный текст?


Fox M. Lurde
17.02.2009, 11:32
День добрый!

Возник такой вопрос:
1) есть ряд кнопок с кодом:

submenu3.sub4.onRelease=function(){
_level0.gotoAndStop(11);
_global.xmlFileName=null;
_global.xmlFileName="DATA/4/22/1.dat";
_level0.submenu3.removeMovieClip();
}

От кнопки к кнопке меняется только значение _global.xmlFileName="DATA/4/22/1.dat";

2) в 11 кадре такой вот код:

//Create a new style sheet object
var myCSS = new TextField.StyleSheet();

//create a new XML object
var myXML:XML = new XML();

//Specify the location of the CSS file that you created earlier
var cssURL = "example.css";

//Load CSS and XML file
myCSS.load(cssURL);
myXML.ignoreWhite = true;


myCSS.onLoad = function(success) {
if (success) {
myXML.load(_global.xmlFileName);
myXML.onLoad = function() {
trace("ok");

myTxt1 = myXML.firstChild.childNodes[0].childNodes[0].nodeValue;
myTxt2 = myXML.firstChild.childNodes[1].childNodes[0].nodeValue;

myText1.styleSheet=myText2.styleSheet = myCSS;

myText1.text = myTxt1;
myText2.text = myTxt2;
};
}
//_global.xmlFileName=null;
};


Итог работы. При нажатии на любую кнопку в первый раз все работает: XML'ка подгружается, как положено. При нажатии на любую кнопку второй раз ничего не происходит. Догадываюсь, что причина в onLoad и определении ряда переменных перед этим. Вопрос в том, как переписать код, что бы он работал?

Заранее гранд се[н]кс!

Добавлено через 7 часов 13 минут
Вопрос решил следующим образом.

1) Все до myXML.load(); поместил в первые кадры основного таймлайна (туда, где у меня идет сплэшзаставка и определение переменных)

2) Код с парсингом (вроде это так называется?), начиная от myXML.load(); повесил на кнопки, перед ним явно определяя _global.xmlFileName="DATA/4/22/1.dat";

Вроде как все работает. Однако вопрос остается открытым: какие еще есть варианты?