PDA

Volledige versie bekijken : Array probleem


rangelier
%Europe/Berlin %502 %2008, 12:03
Hoi,

ik zit met de volgende vraag:

op mijn stage (frame 1) heb ik 3 buttons staan, met instance namen, btn1,btn2,btn3.
nu maak ik een array aan voor deze buttons met de volgende code


var btnArray:Array = new Array(btn1,btn2,btn3);


nu ga ik hier door heen loopen om te kijken of alle buttons zijn toegevoegd dmv


var i:Int = 0;
for(i=0; i < btnArray.lenght; i++){
trace(btnArray);
}


nu geeft hij alle buttons weer bij output. Nu wil ik dat als ik op btn1 druk dat hij een stukje tekst laat zien. doormiddel van deze functie


function laadTekst(event:MouseEvent):void{
contentInfo.text = "er is op btn1 gedrukt";
}


hoe ik controleren op welke button er is geklikt? Mischien typ ik het niet zo duidelijk maar ik wil graag weten hoe je binnen een array de verschillende buttons een functie kan geven(īn dit geval verschillende teksten weergeven)

ik heb wel een idee in mijn hoofd zoiets als

if (btn1 == geklikt)
{
contentInfo.text = "btn1";
}elseif(btn2 == geklikt){
contentInfo.text = "btn2";
}


maar verder kom ik niet.

Bedankt alvast!

ar34z
%Europe/Berlin %508 %2008, 12:12
De trace werkt wel? Er zitten wat typo's in je code.

Wat je kunt doen is bij je klikfunctie de targetnaam uitlezen.

if (e.target.name == 'btn1')
{
// code ..
}
Of met een switch

swtich(e.target.name)
{
case 'btn1':
// code
break;
// etc.
}


--- edit:
ahum, ik ga er dan van uit dat je dezelfde listener gebruikt voor alle knoppen.

rangelier
%Europe/Berlin %516 %2008, 12:23
ja dat klopt inderdaad, dat doe ik ook.

Wat zou er anders zijn als dat niet het geval zou zijn?

heb het nu toegepast en het werkt inderdaad.....many thanks

ar34z
%Europe/Berlin %518 %2008, 12:26
Als je niet dezelfde listener gebruikt voor alle knoppen zou je dus 3 listener functies moeten hebben. Voor elke knop 1. Dan plaats je dus de code gescheiden in functies.

mknol
%Europe/Berlin %542 %2008, 13:00
Beetje offtopic misschien, maaruh:var i:Int = 0;
for(i=0; i < btnArray.lenght; i++){
trace(btnArray);
}Dit kan natuurlijk niet, staat nl. vol met zpelfouten (length, int) en het is wel handig om de juiste button uit de array te selecterenvar i:int = 0;
for(i =0; i < btnArray.length; i++){
trace( btnArray[i] );
}

rangelier
%Europe/Berlin %361 %2008, 08:39
jah, klopt inderdaad.....in mijn fla stond het wel goed maar ik had het even snel getypt zo uit het hoofd. Heb het nu werkend en scheelt een hoop irritatie.....bedankt voor de uitleg!