Actionscript: Problem mit swapDepths();

L

Lukasz

Hallo

Ich arbeite gerade an einem Kartenspiel, welches eigentlich schon funktioniert. Am Ende wollte ich noch die Einzelheiten klären. Nun dazu habe ich 52 Karten, die jeweils von links nach rechts sich überlappen sollen. Dazu muss ich die Karten, die als Movieclips exportiert sind jeweils in den Vordergrund bringen, sodass es ein gleichmässiges Bild gibt, und sich alle Karten überlappen.

Dazu habe ich mich einer Variable bedient, die ich jeweils immer um 1 erhöhe!

Hier in meinem Code wende ich das hervoragend an, alles Problemlos.
PHP:
eval('k'+hand2_karten[i]).swapDepths(karten_hoehe);
karten_hoehe++;

Nur wenn ich die Karten danach verschieben will (._x bzw ._y) dann reagiert der Actionscript nicht mehr darauf.

Hier mal der Code:
PHP:
for(var i=0; i<= hand2_karten.length; ++i) {
	eval('k'+hand2_karten[i])._x = 0;
	eval('k'+hand2_karten[i])._y = 615;
}

Es scheint ihn nicht zu interessieren. Wenn ich aber swapDepths(); ausklammere (nicht verwende) verschiebt er die Karten wieder fein an x = 0 y = 615, als ob nichts wäre.

Mine Frage und mein Problem ist, wie kann ich mein Problem lösen, sodass die Karten wieder wegeschoben werden können, nach der Behandlung mit swapDepths();
 
Hallo,

Wenn es um dynamische Pfadnamen von MovieCLips bzw um Eigenschaften von Objekten geht, würd ich nicht mit eval() arbeiten, sondern mit dem Array-Access. Probiers darum mal hiermit (zweigestricheneQuotemarks inkl.):

PHP:
for(var i=0; i<= hand2_karten.length; ++i) {
    this["k"+hand2_karten[i]]._x = 0;
    this["k"+hand2_karten[i]]._y = 615;
}

Noch ne Frage: Die MovieClips, die du hier mit hochzählender Tiefe anordnest, sind die schon vorher auf der Bühne, oder werden die attached?

gruss
 
Hallo

Die leigen schon alle auf der Bühne auf einer Ebene. Je nach Bedarf ziehe ich die Movieclips auf deren neue Position und ordne sie mit swapDepths(); an. Also eine einfache Verschiebung des Objektes (._x bzw. ._y). Danach lege ich die Karten übereinander, sodass sie sich überlappen mittels swapDepths();

Bis zu diesem Punkt funktioniert alles Reibungslos. Jedoch sofern ich nach der Behandlung ( Objektname._x = 0;) etc. anwenden möchte, passiert einfach nichts.

Das ist das eigentliche Problem.
 
Zurück