PDA

Volledige versie bekijken : Buttons na test verbergen of tonen


Menneke
%Europe/Berlin %595 %2006, 14:17
Ik heb een controle op het aanwezig zijn van 7 xml-bestanden gemaakt (2 t/m 8) en die werkt volens mij goed:
for (var a = 2; a<=8; a++) {
fileExists = new LoadVars();
fileExists._parent = this;
fileExists.onLoad = function(success) {
if (success) {
something1();
} else {
something2();
}
};
fileExists.load(["images-"+a+".xml"]);
}
Verder zijn er 8 buttons op een MC te weten: mc_buttons.btn_1 tot en met mc_buttons.btn_8.

Ik wil dat als een xml-bestand niet bestaat, het corresponderende button niet getoond wordt, maar het lukt me niet om dat voor elkaar te krijgen. Ik kan de variabele a niet gebruiken, want die staat steeds op 9. Hieronder een voorbeeld van wat dus niet werkt.
for (var a = 2; a<=8; a++) {
fileExists = new LoadVars();
fileExists._parent = this;
fileExists.onLoad = function(success) {
if (success) {
something1();
} else {
mc_buttons["btn_"+a]._visible = false;
}
};
fileExists.load(["images-"+a+".xml"]);
}

keuken
%Europe/Berlin %607 %2006, 14:34
Volgens mij mag je je variabele a wel degelijk gebruiken hoor. Die loopt heus wel mee van 2 tot 8.

Ik denk dat het probleem ligt dat flash je mc_buttons niet vind.
Probeer eens

this.mc_buttons["btn_" + a]._visible = false;

Menneke
%Europe/Berlin %636 %2006, 15:16
[QUOTE=keuken]Ik denk dat het probleem ligt dat flash je mc_buttons niet vind.[QUOTE]
Bedankt voor de suggestie, maar dat is het probleem niet. Wanneer ik this ervoor zet, dat werkt het helemaal niet meer. Er wordt dan niets verborgen. Wanneer ik het er niet voor zet, dan verdwijnd button nummer 9. De variabele a staat steeds op 9. Als ik een trace doe op de onderstaande plaats dan krijg ik 9.
for (var a = 2; a<=8; a++) {
fileExists = new LoadVars();
fileExists._parent = this;
fileExists.onLoad = function(success) {
if (success) {
something1();
} else {
trace(a);
mc_buttons["btn_" + a]._visible = false;
}
};
fileExists.load(["images-"+a+".xml"]);
}
Wel komen er in het output scherm de niet gevonden xml bestanden netjes voorbij! Ze worden gevolgd door de trace met als resultaat 9. Wanneer ik de trace doe na de onderstaande regel, dan krijg ik wel alle nummers te zien.

fileExists._parent = this;

Het kan niet ingewikkeld zijn, ik voel het, maar ik zie het effe niet.

Menneke
%Europe/Berlin %014 %2006, 00:21
Ik heb het voor elkaar gekregen met de onderstaande code:
function checkAlbumFile(a) {
fileExists = new LoadVars();
fileExists._parent = this;
fileExists.onLoad = function(success:Boolean) {
if (success) {
mc_buttons["btn_"+a]._visible = true;
} else {
mc_buttons["btn_"+a]._visible = false;
}
};
fileExists.load(["images-"+a+".xml"]);
}
for (var ac = 1; ac<=8; ac++) {
checkAlbumFile(ac);
}

keuken
%Europe/Berlin %395 %2006, 09:29
Simpel maar efficiënt zo blijkt :)