AS3: MovieClip im Array; referenzieren und weiterverarbeiten

hugo1981

Erfahrenes Mitglied
Hallo @ll,

eine kleine Frage wieder:

Ich pusche MovieClip Insatanzen / Referenzen in ein Array. mit
Code:
my_ar.push(_mc)

wie kriege ich diese da nun wieder raus? :)

ich suche sowas wie "getMovieClip()"

Vielleicht stehe ich auch nur wieder auf dem Schaluch..
Bedanke mich für tips im Voraus :)

lg
 
Hallo,

nach welcher Bedingung suchst du denn diesen MovieClip? Wenn du anhand einer Referenz dieselbe Referenz im Array suchen möchtest, ist das ziemlich sinnfrei, da das ein und dieselbe Referenz ist.

Gruss
 
Hat sich erledigt.
ich habe falsch zugegriffen.
So geht es wohl:

Code:
for (var i = 0; i<my_ar.length; i++){
if( my_ar[i].eigenschaft == "test"){

my_ar.[i].wasAuchImmer();

}

}

:) war doch ein bisschen zu spät, und hab den post vergessen...
 
PS.

Ich such nicht nach Referenzen sondern Instanzen, weil ich meistens mehrere Insatanzen (mit verschiedenen Attributen) der Klassen auf die Bühne hinzufüge.

Aber das scheint an sich schon gut zu klappen. werde es heute Abend weiter testen..
 
Hallo,

eine Referenz ist nichts anderes als ein Verweis auf eine Instanz einer Klasse. Der Ausdruck "myArray[i]" repräsentiert ja nicht das Objekt selbst, sondern ist bloss ein Zeiger, ein Wegweiser sozusagen.

Gruss
 
ok :)

Habe ich es aber richtig verstanden, dass diese Referenz die richtige/entsprechende Instanz referenziert?
Sprich, eines von x Instanzen der selben Klasse?

Weil im Array werde ich später mehrere Objekte haben die aus der selben Klasse erstellt wurden..

Ein trace gibt jezt aus:


Code:
for (var i = 0; i<my_ar.length; i++){

trace(my_ar.[i]);

if( my_ar[i].eigenschaft == "test"){

my_ar.[i].wasAuchImmer();

}

}

Code:
trace(my_ar.[i]);

// -> 
[object myMcClass]

[object myMcClass]

[object myMcClass]

[object anotherMcClass]

Merkt hier AS3.0 trotzdem die individuelle Instanz? Ich nehme mal an JA, oder? :)
 
Hallo,

ja natürlich sind das Instanzen, das siehst du am Ausdruck "object". Teste mal folgendes Skript, dann wirds gleich glasklar:
Code:
trace (Array);
var ary: Array = new Array();
trace (ary);

Gruss
 

Neue Beiträge

Zurück