syntax geht nicht in flash 8?

Z-r0

Erfahrenes Mitglied
Hallo leute,

ich habe eine Fadefunktion im Netz gefunden und da taucht sowas auf:

PHP:
_root.header.bildcontainer["cont" add old_container].swapDepths(9);

Erstmal: Was ist das für eine Struktur? da wird an den Namen bildcontainer noch ein Wert rangehängt, das versteh ich. Aber wann kann man solche Sachen machen? Also habe noch nie eckige Klammern benutzt...

Wie sähe so eine Zeile in Flash 8 aus?
Wenn ich nämlich versuche es mit Flash8 zu publishen zeigt er mir Fehler an (angeblich fehlt da irgendwo eine eckige Klammer) aber mit Flash7 meckert er nicht (funktionieren tuts trotzdem nicht :rolleyes: )

Cya!
 
Hi,

die Zeile sähe in Flash 8 so aus:
Code:
_root.header.bildcontainer["cont" + old_container].swapDepths(9);
Der Operator zum Verknüpfen von Strings hieß in Flash 4 noch "add", später wurde das Pluszeichen eingesetzt.

Diese Art des Zugriffs auf Elemente mit dem Array-Operator ist nach wie vor gängig (sie hat vor einigen Versionen den Gebrauch der eval-Funktion ersetzt): Angenommen, die Variable "old_container" hat den Wert 2, so würdest Du mit der Zeile auf
Code:
_root.header.bildcontainer.cont2
zugreifen.

Wenn die Zeile in Flash 7 und 8 nicht funktioniert, kann es an falscher Groß- und Kleinschreibung liegen. "bildContainer" und "bildcontainer" waren zu Flash6-Zeiten noch ein und das selbe Objekt - ab Flashplayer 7 aber nicht mehr. ;)

Gruß
.
 
Zurück