[Flash (MX)] Variabelen, dynamisch aanmaken.

Pagina: 1
Acties:

  • Guillome
  • Registratie: Januari 2001
  • Niet online
Hi,

Ik heb in FlashMX een array zoals dit:
JavaScript:
1
var instrumenten = new  Array("piano", "gitaar");


En nu wil ik in een loopje het zelfde krijgen als dit:
JavaScript:
1
2
var piano = new Sound("piano");
var gitaar = new Sound("gitaar");


Het gaat niet om het new Sound() gedeelte, dat lukt wel.
Wat ik gedacht had is zoiets als eval:
JavaScript:
1
2
3
4
5
for (x=0;x<instumenten.length;x++)
{
  eval(instrumenten[x]) = new Sound(instrumenten[x]);
    // Hier maakt ie (lees: moet ie maken) dus nieuwe variabelen
}


Dus dat, als ik een instrument in het array erbij plaats, ik meteen een variabele heb met die naam.

Maar dat wil niet, maar dan heb je een idee van wat ik wil.
Is dit mogelijk en zo ja, hoe?

If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router


  • edie
  • Registratie: Februari 2002
  • Laatst online: 26-08 21:34
XLerator schreef op 01 januari 2003 @ 18:40:
Dus dat, als ik een instrument in het array erbij plaats, ik meteen een variabele heb met die naam.

Maar dat wil niet, maar dan heb je een idee van wat ik wil.
Is dit mogelijk en zo ja, hoe?
Je moet bij je eval nog de 'var ' zetten.

dus
JavaScript:
1
2
3
4
for (x=0;x<instumenten.length;x++)
{
  eval( "var " + instrumenten[x] ) = new Sound( instrumenten[x] );
}

zou moeten werken.

[ Voor 43% gewijzigd door edie op 01-01-2003 18:53 ]

"In America, consumption equals jobs. In these days, banks aren't lending us the money we need to buy the things we don't need to create the jobs we need to pay back the loans we can't afford." - Stephen Colbert


  • Guillome
  • Registratie: Januari 2001
  • Niet online
Dan zegt ie van "left side cannot be assigned" ofzoiets.

If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router


  • edie
  • Registratie: Februari 2002
  • Laatst online: 26-08 21:34
Dat hele stuk in de eval zetten dan?
code:
1
eval( "var " + instrumenten[x] + " = new Sound( '" + instrumenten[x] + "'  )" );

"In America, consumption equals jobs. In these days, banks aren't lending us the money we need to buy the things we don't need to create the jobs we need to pay back the loans we can't afford." - Stephen Colbert


  • Guillome
  • Registratie: Januari 2001
  • Niet online
eval levert alleen een variabele af, dat kan geen scripts uitvoeren. Zoiets ;)

Maar ik heb het al, het is set Variabele.
Dus set (varname, value)
Dus ik heb het antwoord al :)

edit
Alsnog bedankt he Eddie

[ Voor 9% gewijzigd door Guillome op 01-01-2003 19:57 ]

If then else matters! - I5 12600KF, Asus Tuf GT501, Gigabyte Gaming OC 16G 5080 RTX, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router