Sziasztok!
Fennakadtam AS2.0-ban az alábbi dolgon. Abszolút egyszerű, csak én vagyok láma.
ÁPDÉT!!
// ELSŐ ESETBEN
quotes = new Array;
quotes['test'] = new Array;
quotes['test'][0] = 'alma';
function loadXML(loaded) {
trace('allapot 1: '+ quotes['test'][0]);
quotes['test'][0] = 'korte';
trace('allapot 2: '+ quotes['test'][0]);
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("foo.xml");
trace('allapot 3: '+ quotes['test'][0]);
Output 1:
allapot 3: alma
allapot 1: alma
allapot 2: korte
// MÁSODIK ESETBEN
quotes = new Array;
quotes['test'] = new Array;
quotes['test'][0] = 'alma';
function loadXML(loaded) {
trace('allapot 1: '+ quotes['test'][0]);
quotes['test'][0] = 'korte';
trace('allapot 2: '+ quotes['test'][0]);
}
xmlData = new XML();
xmlData.ignoreWhite = true;
loadXML(true); // <<<<<<<<<<<<<<<<< ITT NEM ONLOAD eventre teszem a functiont akkor
xmlData.load("foo.xml");
trace('allapot 3: '+ quotes['test'][0]);
Output 2:
allapot 1: alma
allapot 2: korte
allapot 3: korte
Kérdésem, miért? Miért viselkedik máshogy a variable különböző meghívásra. De ami lényegesebb, az ELSŐ esetben milyen módon tudom a function-on kívüli variable értékét megváltoztatni, de olvasni igen?
- 901 megtekintés
Hozzászólások
A fától nem láttam az erdőt, így pénteken. Az output sorrendje volt árulkodó a trace hamarabb futott le, mint a változás, mert az onLoad később következett be. A function-ba beszúrtam ezt:
function loadXML(loaded) {
if (loaded) {
***ujertekek felvetele
***ujertekek felvetele
***ujertekek felvetele
gotoAndPlay(2);
} else {
stop();
}
így már működik... sorry a fórum szemetelésért!
- A hozzászóláshoz be kell jelentkezni