[AS] button naam i.c.m. for lus

Pagina: 1
Acties:

  • jos_zwa
  • Registratie: Januari 2001
  • Laatst online: 15-04-2019

jos_zwa

Flying Dutchman

Topicstarter
Ik heb de volgende code:

var i:Number;
for (i = 1; i < 18; i++) {
if (button+i_btn._x == 327) {
button+i_btn.enabled = true;
button+i_btn.useHandCursor = true;
}
else {
button+i_btn.enabled = false;
button+i_btn.useHandCursor = false;
}
}

Ik heb 17 buttons die button1_btn, button2_btn t/m button17_btn heten. Nu moet er voor alle
17 buttons een check uitegevoerd worden en het is natuurlijk wel zo makkelijk om dit in een for
lus te gooien, maar weet ik niet hoe dan de benaming van de button is i.c.m. met de variable
button+i is dus niet goed. of is het button.[i] of iets anders? iemand die het weet?

Nikon D60 + AF-S DX 18-105mm G VR


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 11-04 17:49

NMe

Quia Ego Sic Dico.

En nu mogen wij raden welke taal dit is? 8)7

Ik denk dat je moet gaan denken aan arrays, maar zeg eerst maar eens waar je mee werkt, want zo komen we natuurlijk nergens. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-04 15:11

Bosmonster

*zucht*

Ziet er uit als actionscript...

(en dan staat het natuurlijk in het verkeerde forum)

[ Voor 48% gewijzigd door Bosmonster op 18-01-2006 17:37 ]


  • jos_zwa
  • Registratie: Januari 2001
  • Laatst online: 15-04-2019

jos_zwa

Flying Dutchman

Topicstarter
Bosmonster schreef op woensdag 18 januari 2006 @ 17:37:
Ziet er uit als actionscript...

(en dan staat het natuurlijk in het verkeerde forum)
de taal is actionscript (flash)

Nikon D60 + AF-S DX 18-105mm G VR


  • Confusion
  • Registratie: April 2001
  • Laatst online: 01-03-2024

Confusion

Fallen from grace

Wat je nu probeert te doen vereist dubbele evaluatie van de "button+i": eerst als expressie, vervolgens als variabelenaam/referentie. Zo werkt, voorzover ik weet, geen enkele taal. Alles wordt maar 1 keer ge-evalueerd. De buttons in een array gooien is de makkelijkste oplossing.

Wie trösten wir uns, die Mörder aller Mörder?


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

maar dit kan wel:
code:
1
parent['button'+i+'_btn'].enabled = true;

waarbij 'parent' dan een verwijzing is naar het object waarbinnen de buttons zijn gedefinieerd.

Intentionally left blank


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 11-04 17:49

NMe

Quia Ego Sic Dico.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • jos_zwa
  • Registratie: Januari 2001
  • Laatst online: 15-04-2019

jos_zwa

Flying Dutchman

Topicstarter
hmmm... met een array werkt het iig. ik ga bovenstaande methode van crisp ook nog ff proberen:

code:

function onEnterFrame() {

var knoppenwaarde:Array = new Array();
knoppenwaarde[1] = button1_btn._x;
knoppenwaarde[2] = button2_btn._x;
knoppenwaarde[3] = button3_btn._x;
knoppenwaarde[4] = button4_btn._x;
knoppenwaarde[5] = button5_btn._x;
knoppenwaarde[6] = button6_btn._x;
knoppenwaarde[7] = button7_btn._x;
knoppenwaarde[8] = button8_btn._x;
knoppenwaarde[9] = button9_btn._x;
knoppenwaarde[10] = button10_btn._x;
knoppenwaarde[11] = button11_btn._x;
knoppenwaarde[12] = button12_btn._x;
knoppenwaarde[13] = button13_btn._x;
knoppenwaarde[14] = button14_btn._x;
knoppenwaarde[15] = button15_btn._x;
knoppenwaarde[16] = button16_btn._x;

var knoppen:Array = new Array();
knoppen[1] = button1_btn;
knoppen[2] = button2_btn;
knoppen[3] = button3_btn;
knoppen[4] = button4_btn;
knoppen[5] = button5_btn;
knoppen[6] = button6_btn;
knoppen[7] = button7_btn;
knoppen[8] = button8_btn;
knoppen[9] = button9_btn;
knoppen[10] = button10_btn;
knoppen[11] = button11_btn;
knoppen[12] = button12_btn;
knoppen[13] = button13_btn;
knoppen[14] = button14_btn;
knoppen[15] = button15_btn;
knoppen[16] = button16_btn;

var i:Number;
for (i = 1; i < 17; i++) {
if (knoppenwaarde[i] == 327) {
knoppen[i].enabled = true;
knoppen[i].useHandCursor = true;
}
else {
knoppen[i].enabled = false;
knoppen[i].useHandCursor = false;
}
}

}

Nikon D60 + AF-S DX 18-105mm G VR


  • ocdaan
  • Registratie: Augustus 2001
  • Laatst online: 02-04 19:20

ocdaan

Niet zo zeuren jongens!

eitje toch ;-)

for(i=1;i<18;i++){
trace(_root["button"+ i + "_btn"]._x +"\n")
}

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Mensen zet aub je code netjes tussen [plain]
code:
1
[/]-tags. Dat maakt het alleemaal weer een stuk beter leesbaar :)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Niakmo
  • Registratie: Juni 2001
  • Laatst online: 10-02-2024
flash heeft ook een eval() functie, daarmee zou het ook kunnen werken, dat scheelt je weer een array.

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

zirus schreef op vrijdag 20 januari 2006 @ 14:12:
flash heeft ook een eval() functie, daarmee zou het ook kunnen werken, dat scheelt je weer een array.
eval() is evil en in de meeste gevallen ook totaal niet nodig. Als je op de juiste manier je elementen/objecten aanspreekt (als collection ipv de dot-notatie) kan je het zo flexibel maken als je zelf wilt...

Intentionally left blank


  • Niakmo
  • Registratie: Juni 2001
  • Laatst online: 10-02-2024
crisp schreef op vrijdag 20 januari 2006 @ 15:28:
[...]

eval() is evil en in de meeste gevallen ook totaal niet nodig. Als je op de juiste manier je elementen/objecten aanspreekt (als collection ipv de dot-notatie) kan je het zo flexibel maken als je zelf wilt...
maar als je kijkt hoe de topicstarter het nu oplost met een hele array waar in elk element maar 1 cijfer scheelt, zou ik het liever met eval functie doen. Maar wat is er zo evil aan eval?

  • Murphy
  • Registratie: November 2000
  • Laatst online: 23-03 16:20

Murphy

(2B||!2B)?

Zoals Crisp het oplost
code:
1
parent['button'+i+'_btn'].enabled = true;


is al een vorm van eval, maar dan in een modern en niet-evil jasje.

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Murphy schreef op vrijdag 20 januari 2006 @ 15:46:
Zoals Crisp het oplost
code:
1
parent['button'+i+'_btn'].enabled = true;


is al een vorm van eval, maar dan in een modern en niet-evil jasje.
Nee, dat is geen vorm van eval. En hoezo modern? Dat is gewoon de basis van hoe ECMAScript in elkaar zit..

Intentionally left blank

Pagina: 1