Variable[i+1] in for-Schleife geht nicht

Flolei

Grünschnabel
Schönen Montag,

ich versuche 60 Variablen zu erzeugen. Jede zweite Variable soll anders sein (länger). Jetzt habe ich mir einfach gedach: "Hey, statt bis 60 mit i++ lass doch bis 120 laufen mit i+2 und benenne die ungraden, also jede zweite Variable, manuel." ;)

PHP:
for (i=0;i<=120;i=i+2)
{
zufalls_container = random(7);
zufalls_teammitglied = random(9);
liste[i]  = _root["MC_team_container" + zufalls_container];
liste[i+1] = _root["MC_team_container" + zufalls_container + "." + ar_team[zufalls_teammitglied]];
}

Geht aber nicht. liste[i+1] ist undefined. liste[i] lässt sich wunderbar ausgeben. Schau ich mir liste an, so sehe ich, dass jedes zweite Element leer ist. Was mache ich falsch?

Danke,
Flo
 
Zuletzt bearbeitet:
Hi,

da ich am Schleifenkonstrukt keinen Fehler erkennen kann (ggf. mit trace testen), vermute ich diesen in der Zuweisung.

Hast Du Dir mal mit trace ausgeben lassen, was z.B.
PHP:
_root["MC_team_container" + zufalls_container + "." + ar_team[zufalls_teammitglied]];
zurückgibt? Ist ar_team von da wo Du zugreifst erreichbar? Ist zufalls_teammitglied ein gültiger Index für das Array?

Gruß

P.S.: ab Flash 6 ist es übrigens besser, Math.random() statt random zu verwenden. ;)

P.P.S.: Wenn die Variablen korrekt sind, versuche es statt _root[] mal mit eval() - dürfte eigentlich keinen großen Unterschied machen, aber vielleicht stört sich Flash an zu vielen Verknüpfungen...
.
 
Zuletzt bearbeitet:
So,

der String ist anscheinend tasächlich nicht besonders toll. Ergibt nämlich undefined. ar_team[xyz] ist aber ok. zufalls_teammitglied wird erst in der Schleife definiert. Desshalb verstehe ich die Frage nach dem gültigem Index nicht :-( .

Wie muss ich den String bauen, dass er richtig geparsed wird?
Danke, Flo

P.S.: Mit Math.random() jeht die janze jeschichte nich mea. Versteh ick och nich.
 
Wo wird denn das Array ar_team gefüllt? (Die Frage nach dem Index bezog sich übrigens darauf: Wenn z.B. die Zahl 9 herauskommt, das Array aber nur 5 Elemente hat...) Wenn dieses Array auf einem anderen MC liegt, musst Du es korrekt adressieren.
Auch wenn ar_team[sonstwas] einen gültigen Wert zurückgibt, stellt sich natürlich immer noch die Frage, ob das angesprochene Objekt überhaupt existiert...

Wo das Problem genau liegt, kann ich Dir mit den gegebenen Infos nicht sagen, aber wenn Du Deine Datei einmal anhängen könntest, bin ich sicher, es lässt sich in wenigen Minuten herausfinden. ;)

Gruß

P.S.: Bitte keine regionalen Dialekte - das sieht man hier nicht so gerne. ;)
 
Zuletzt bearbeitet:
hmm, dann machs Schritt für Schritt:

- trace(ar_team[zufalls_teammitglied]) gibt also einen gültigen Objektnamen zurück? (was auch immer: eine Membervariable oder einen MC-Instanznamen)

- dass trace("MC_team_container" + zufalls_container) das richtige zurückgibt, wissen wir ja schon aus den Elementen mit gradem Index.

- wenn nun auch trace("MC_team_container" + zufalls_container + "." + ar_team[zufalls_teammitglied]); einen Verweis (in Form einer Zeichenkette) auf ein Objekt liefert, von dem Du behauptest, es existiert, aber _root["MC_team_container" + zufalls_container + "." + ar_team[zufalls_teammitglied]] immer undefined ergibt... probier es wie gesagt alternativ mit
PHP:
eval("MC_team_container" + zufalls_container + "." + ar_team[zufalls_teammitglied]);
- oder specke Deine Datei auf das nötigste ab und poste sie dennoch; ich vermute immer noch ein Adressierungsproblem.

Gruß
.
 
Hi, danke soweit.

PHP:
test = eval("_root.MC_team_container" + zufalls_container + "." + ar_team[zufalls_teammitglied]);
trace(test);

Das gibt mir 60 zeilen aus. Davon sind die Mehrzal undefined und in zufällig abfolge mal einige OK, werden also gefunden. Wobei "gefunden" seeeehr relativ ist, da es diese Teile noch garnicht gibt, die werden ja mit dieser Schleife erst erstellt.

Ich werde das Dingens morgen mal kleinhacken und dann hochladen. Man, das Schafft mich echt: ICH: "Aber Chef ich kann doch gar kein Flash, geschweige denn ActionScript!" ER: "Ach, so schwer kann das doch nicht sein." ICH: "Aber ich muss doch auch noch für ..." ER: "Na und, wer sagt denn, dass sich das im weg steht?"
 
Zurück