PDA

Volledige versie bekijken : Dynamisch toewijzen van onRelease...


gbolssens
%Europe/Berlin %471 %2005, 12:19
In de "opsomming van A.S. tips voor beginners" las ik dit:

5. Voor wanneer je buttons in een for() lus wilt zetten; de i is dan niet meer opvraagbaar in een onRelease omdat wanneer je op de knop drukt de for lus al gemaakt is en de i de waarde al heeft van de laatste i die de lus gemaakt heeft.
for(i=1;i<=4;i++){
this["button"+i].onRelease = function(){
trace(i) //dat geeft: 4
}
}


Hoe kan je dan WEL dynamisch (met een for-loop) de onRelease Ev.Hndr. toewijzen van een berg buttons?

alvast bedankt,
GB


P.S.: Ik heb dit al in een tweetal projecten moeten doen, maar ik kwam er niet uit dus heb ik ze toen allemaal apart geprogrameerd. :confused:

Roenes
%Europe/Berlin %479 %2005, 12:30
Ik kan me herinneren dat in de oude topic (op het oude systeem) deze oplossing stond:

Je moet i opslaan in de mc:

for(var i = 0; i < 4; ++i)
{
this["button" + i].i = i;
this["button" + i].onRelease = function()
{
trace(this.i);
}
}
Nu sla je i op in de mc en kun je die opvragen met this.i in de event handler. Je kunt natuurlijk ook met substring het cijfer uit de naam halen maar dit is een makkelijkere manier :)

theFlashWizard
%Europe/Berlin %066 %2005, 02:36
volgens mij staat deze oplossing ook gewoon bij AStips.. :P