PDA

Volledige versie bekijken : global functies


AnnaAngel
%Europe/Berlin %586 %2007, 14:05
ik heb meerdere global functies die ik via een object aanroep. Maar hij roept telkens alleen de allerslaatste functie op. De voorgaande negeert flash. Zelfs als de laatste functie niet wordt opgeroepen speelt flash deze af. Wie weet hoe dit komt en hoe ik dit kan oplossen (en ik weet het global is slecht maar ik kan het echt niet op een andere manier oplossen)

het declareren van de functies

_global[beweeg_ogen + _parent._parent._name ]= function () {
//blabla
}

_global[kijk_blij + _parent._parent._name ]= function () {
//blabla
}


het oproepen van de functies


for (funct =0; funct <_global.id_array.length; funct++)
{

_global[beweeg_ogen + _global.id_array[funct]]();
_global[kijk_blij + _global.id_array[funct]]();
}


de id_array is hetzelfde als de _parent._parent._name

----
als ik het zo declareer doet flash het wel


_global.hello = function () {
//blabla
}

_global.hoi = function () {
//blabla}

en dan zo aanroepen

_global.hello();
_global.hoi();

Er gaat dus iets mis met het declareren of het aanroepen in de bovenste code. Wie kan me helpen ? alvast bedankt

theFlashWizard
%Europe/Berlin %814 %2007, 19:33
Kies een andere aanpak, _global is net als _root slecht gebruik. Het bestaat volgens mij niet eens meer in de nieuwe versie van Actionscript.

En kijk hier voor meer info over het normaal beschrijven van functies:
Actionscript Tutorials -> functies (http://www.flashfocus.nl/forum/showthread.php?t=6338#functies)

AnnaAngel
%Europe/Berlin %789 %2007, 18:57
zoals ik al zei kan het niet anders dan global :P aangezien elke keer de paden variabel zijn en ik anders de functies niet kan oproepen. Maar ik denk dat ik al wel weet wat het probleem was .. ik schreef _global[functienaam + iets] moet natuurlijk _global["functienaam" + iets] zijn anders pakt ie bij de functienaam altijd undefined ...

zal het maandag maar eens testen :P

theFlashWizard
%Europe/Berlin %830 %2007, 19:56
er is altijd een andere methode ;) Als je ons nou eens uitlegt waarom jij denkt waarom het niet anders kan of wat je wilt bereiken kunnen we je die vast vertellen.

idd dat klopt ook.