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";
Вроде как все работает. Однако вопрос остается открытым: какие еще есть варианты?
Возник такой вопрос:
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";
Вроде как все работает. Однако вопрос остается открытым: какие еще есть варианты?