webForumDet fria alternativet

jobba med Array:er

6 svar · 546 visningar · startad av hana78

hana78Medlem sedan aug. 200653 inlägg
#1

Ok, har blivit snurrig på all kod jag har just nu så jag hoppas jag kan få hjälp här...

det jag försöker göra är att få ut, jag antar, en pekare från en array.

arrayen får in ett namn, t.ex. "lamborghini"

jag har i en loop skapat mc:s som heter det de representerar, alltså "lamborghini_mc"

nu vill jag kunna peka på rätt mc med hjälp av texten i arrayen...
resultatet skall altså bli

folder_mc.lamborhini_mc
så jag t.ex. kan ändra dess alpha
folder_mc.lamborgini_mc._alpha = 75;

jag har försökt med och utan [ taggar
jag kan inte lägga in en pekare direkt i arrayen pga hur jag gjort applikationen

hur gör man?
jag känner mig vilsen

BlixtsystemsMedlem sedan maj 2005704 inlägg
#2

Om jag har förstått frågan rätt:

var a:Array=new Array("lamborgini", "saab", "opel", "lada");
vai i:Number;
var l:Number=a.length;
for(i=0;i<l;i++){
   folder_mc[a[i]+"_mc"]._alpha;
}
hana78Medlem sedan aug. 200653 inlägg
#3

ja typ...
nu skrev jag iofs inte helt rätt i första inlägget men,
i arrayen ligger det objekt som har olika attribut

så det blev
folder_mc[arrayNamn[arrayPosition].vilketClip+"_mc"]._alpha = 100;
fast det fungerade inte heller tyvärr...
måste det inte vara en punkt efter folder_mc?
fast det funkar inte det heller :/

jag är så dålig på kod-syntaxer... suck

hana78Medlem sedan aug. 200653 inlägg
#4

YES!
hittade ett tidigare inlägg från mirandir där han använde eval för att sätta ihop objekten och länken till en pekare! sweet!

Nu kan jag fortsätta med projektet!

tack för hjälpen

BlixtsystemsMedlem sedan maj 2005704 inlägg
#5

Ingen punkt innan array access operand, så den raden skall vara korrekt.
Får du "lamborgini" om du kör "trace(arrayNamn[arrayPosition].vilketClip)" i din loop?
Om inte testa detta:
for(var prop in arrayName[arrayPosition]){
trace("prop:"+prop);
}
Dyker "vilketClip" upp i ditt output fönster?

BlixtsystemsMedlem sedan maj 2005704 inlägg
#6

Eval är ett arv från Flash 4 syntax, och även om det fortfarande fungerar i Flash 8 så är det att rekommendera att vänja sig till att använda array access ("[]") istället.
AS3 saknar eval.

hana78Medlem sedan aug. 200653 inlägg
#7

jag har ingen vidare kodare-bakgrund så det blev eval först... men det blev klart lättare när jag la in en pekare till mc:t istället för att jobba med strängar... så nu slapp jag eval :)

129 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)