Kapitel 6 Anweisungen und Aktionen
Die elementaren Bausteine von ActionScript
Programme sind in viele kleine Einzelschritte unterteilt. Diese einzelnen Anweisungen dürfen auf vielfältige Art und Weise gestaltet werden. Die einfachste Möglichkeit bieten die Aktionen.
Die Einzelschritte eines Algorithmus werden durch Anweisungen beschrieben, die iterativ – d.h. Schritt für Schritt, nacheinander – abgearbeitet werden. Diese Anweisungen verändern die gegebenen Daten und erzeugen neue Daten. Eine Anweisung beinhaltet zum Beispiel Ausdrücke zur Berechnung oder Befehle für die Ausgabe.
Zur Vereinfachung dieser Anweisungen bietet Flash die so genannten Aktionen. Diese entsprechen vorgefertigten Verhalten, die sich auch ohne größere Programmierkenntnisse anwenden lassen. Bei Macromedia selber sind die Begriffe Anweisung und Aktion meist austauschbar. Dieses Buch bemüht sich jedoch, nur solche Fähigkeiten als Aktion zu bezeichnen, die bereits in vorigen Flash-Versionen verfügbar waren und nicht in ECMAScript enthalten sind. Ohnehin gibt es für die meisten Aktionen mittlerweile ECMAScript-konforme Alternativen, die Sie bitte der Tabelle »Aktionen und Alternativen« auf der nächsten Seite entnehmen.
Aktionen ohne Alternativen
Einige wenige Aktionen sind aber weiterhin nur schwer durch modernere Varianten zu ersetzen. Dazu zählen:
|
SWF-Datei bzw. JPEG-Bild in einer Stufe mit loadMovieNum nachladen (siehe Seite 155) |
|
Alle Sounds mit stopAllSounds auf einmal stoppen (siehe Seite 145) |
|
Drucken mit print, printAsBitmap, printAsBitmapNum und printNum (siehe Seite 136) |
|
Den Stand-alone-Player oder -Projektor mit fscommand beeinflussen (siehe Seite 146) |
Außerdem kommen die Aktionen immer dann zum Einsatz, wenn Sie für einen Flash Player 4 oder älter entwickeln. Dennoch liegt der Schwerpunkt in diesem Buch abgesehen von diesem Kapitel auf den neueren und konsistenteren Schreibweisen.
Tabelle 6.1
Aktionen und Alternativen
Aktion
|
Alternative
|
Bemerkung
|
duplicateMovieClip
|
Methode duplicateMovieClip des Movieclip-Objektes (seit Flash 5)
|
|
fscommand allowScale
|
Methode scaleMode des Stage-Objektes (seit Flash MX)
|
|
fscommand exec
|
|
siehe Seite 148
|
fscommand fullScreen
|
|
siehe Seite 149
|
fscommand quit
|
|
siehe Seite 149
|
fscommand showMenu
|
Methode showMenu des Stage-Objektes (seit Flash MX)
|
|
fscommand trapAllKeys
|
|
siehe Seite 151
|
getURL
|
Methode getURL des Movieclip-Objektes (seit Flash 5)
|
|
gotoAndPlay
|
Methode gotoAndPlay des Movieclip-Objektes (seit Flash 5)
|
Im Normalmodus von Flash MX über die Aktion goto zu erreichen.
|
gotoAndStop
|
Methode gotoAndStop des Movieclip-Objektes (seit Flash 5)
|
Im Normalmodus von Flash MX über die Aktion goto zu erreichen.
|
loadMovie
|
Methode loadMovie des Movieclip-Objektes (seit Flash 5)
|
|
loadMovieNum
|
Methode loadMovieNum des Movieclip-Objektes (seit Flash 5)
|
Für die Steuerung von noch nicht erzeugten Stufen (engl. Level) muss weiterhin die Aktion anstelle der Methode eingesetzt werden (siehe Seite 155).
|
loadVariables
|
Methode loadVariables des Movieclip-Objektes (seit Flash 5) oder das LoadVars-Objekt (seit Flash MX)
|
|
loadVariablesNum
|
Methode loadVariablesNum des Movieclip-Objektes (seit Flash 5) oder das LoadVars-Objekt (seit Flash MX)
|
|
nextFrame
|
Methode nextFrame des Movieclip-Objektes (seit Flash 5)
|
Im Normalmodus von Flash MX über die Aktion goto zu erreichen.
|
nextScene
|
|
Im Normalmodus von Flash MX über die Aktion goto zu erreichen (siehe Seite 131).
|
play
|
Methode play des Movieclip-Objektes (seit Flash 5)
|
|
prevFrame
|
Methode prevFrame des Movieclip-Objektes (seit Flash 5)
|
Im Normalmodus von Flash MX über die Aktion goto zu erreichen.
|
prevScene
|
Methode prevScene des Movieclip-Objektes (seit Flash 5)
|
Im Normalmodus von Flash MX über die Aktion goto zu erreichen (siehe Seite 132).
|
print
|
Methode getURL des Movieclip-Objektes (seit Flash 5)
|
|
printAsBitmap
|
Methode getURL des Movieclip-Objektes (seit Flash 5)
|
|
printAsBitmapNum
|
Methode getURL des Movieclip-Objektes (seit Flash 5)
|
|
printNum
|
Methode getURL des Movieclip-Objektes (seit Flash 5)
|
|
removeMovieClip
|
Methode removeMovieClip
des Movieclip-Objektes (seit Flash 5)
|
|
startDrag
|
Methode startDrag des Movieclip-Objektes (seit Flash 5)
|
|
stop
|
Methode stop des Movieclip-Objektes (seit Flash 5)
|
|
stopAllSounds
|
Methode stop des Sound-Objektes (seit Flash 5)
|
Die Anwendung der Alternative erfordert deutlich mehr Aufwand als der Einsatz der Aktion.
|
stopDrag
|
Methode stopDrag des Movieclip-Objektes (seit Flash 5)
|
|
toggleHighQuality
|
Eigenschaft _quality des Movieclip-Objektes (seit Flash 5)
|
Seit Flash 3 steht auch die seit Flash 5 nicht mehr empfohlene Eigenschaft _highquality zur Verfügung.
|
unloadMovie
|
Methode unloadMovie des Movieclip-Objektes (seit Flash 5)
|
|
unloadMovieNum
|
Methode unloadMovieNum des Movieclip-Objektes (seit Flash 5)
|
|
Seit Flash 5 gibt es eine ganz wesentliche Änderung zu den vorherigen Versionen von ActionScript. Wie bei JavaScript dürfen Sie anstelle der Aktionen Methoden auf Objekte anwenden: Nach der alten Schreibweise hätte man wahrscheinlich fuegeHinzu(schuessel, 3 Eier) geschrieben. In der neuen (und konsistenteren) Schreibweise heißt es schuessel.fuegeHinzu(3 Eier). Grundsätzlich ist eine Aktion in den meisten Fällen nach dem Schema objekt.methode(parameter) aufgebaut. Die alte Schreibweise kann zwar noch weiter verwendet werden, Sie sollten jedoch die neue einsetzen!
Ein weiterer Vorteil der neueren objektorientierten Schreibweise ist, dass der Bezug der Anweisung in den meisten Fällen deutlicher wird. Denn Methoden eines Objektes werden immer zielgerichtet eingesetzt (siehe Kapitel 13.5).
Bei den älteren Aktionen gilt seit Flash MX z.B. grundsätzlich, dass sie sich auf den Zeitleiste- bzw. den Movieclip beziehen, indem sie platziert sind. Nur über das recht unhandliche tellTarget lässt sich das ändern (siehe Kapitel 11). Anstelle von
tellTarget ("instanz") {
aktion();
}
schreiben Sie besser
instanz.methode();
6.1 Aktionen für die Zeitleisten- und Movieclip-Steuerung
Tabelle 6.2
Varianten der Aktion goto im Überblick
Aktion
|
Beschreibung
|
gotoAndPlay
|
Wechselt in ein Bild und setzt das Abspielen fort.
|
gotoAndStop
|
Wechselt in ein Bild und stoppt das Asbpielen.
|
nextFrame
|
Wechselt in das nächste Bild und stoppt das Abspielen.
|
nextScene
|
Wechselt in die nächste Szene und stoppt das Abspielen.
|
prevFrame
|
Wechselt in das vorhergehende Bild und stoppt das Abspielen.
|
prevScene
|
Wechselt in die vorhergehende Szene und stoppt das Abspielen.
|
Das Steuern der Zeitleiste zählt zu den wichtigsten Aufgaben von ActionScript. Stoppen (engl. stop) und Abspielen (engl. play) sind nur zwei der zahlreichen Aktionen zur Zeitleistensteuerung.
Andere Objekte steuern
Alle hier aufgelisteten Aktionen inklusive stop und play beziehen sich normalerweise bei Bildaktionen auf die Zeitleiste, in der die Aktion definiert ist, bei Schaltflächen auf die Zeitleiste, in der die Schaltfläche liegt, und bei Movieclips auf die Zeitleiste des Movieclips. Um andere Zeitleisten zu steuern, bietet Flash sämtliche dieser Aktionen auch in der Kategorie Integrierte Klassen • Film • Movieclip • Methoden innerhalb des ActionScript-Editors.
Diese Methoden haben den Vorteil, dass die Aktionen zielgerichtet angegeben werden. D.h. Sie geben das Objekt an, das gesteuert werden soll. Dafür benötigen die zu steuernden Objekte aber einen Instanznamen. Um benannte Instanzen zu finden, ist das Fenster Zielpfad einfügen im Bedienfeld Aktionen sehr nützlich.
6.1.1 gotoAndPlay
Verwenden Sie die Aktion gotoAndPlay, um einen anderen Zustand Ihrer Anwendung anzuzeigen. Denn diese Aktion wechselt in das angegebene Bild eines Movieclips und spielt die zugehörige Zeitleiste weiter ab. Mögliche Anwendungsfälle sind, dass Sie einen Teil einer Zeitleiste in einer Schleife abspielen möchten oder dass der Benutzer durch das Betätigen einer Schaltfläche in einen anderen Bereich der Zeitleiste, also zu anderen Inhalten navigiert.
|
Bemerkung: |
|
Diese Aktion steht seit dem Flash Player 2 zur Verfügung. Alternativ sollte die gleichnamige Methode des Movieclip-Objektes eingesetzt werden. |
|
|
|
Syntax: |
gotoAndPlay(bild);
gotoAndPlay(szene, bild);
|
Parameter: |
|
Verwenden Sie eine Zeichenkette mit dem Namen der gewünschten Szene als ersten Parameter. Der zweite Parameter kann sowohl als Zeichenkette für Bildmarkierungen oder als Ganzzahl für Bildnummern angegeben werden. Sollten Sie nur einen Parameter verwenden, dann muss dieser für die Bildbezeichnung oder Bildnummer stehen. |
|
|
|
Beispiel: |
|
// Gehe zu einer Bildnummer |
|
|
|
// Gehe zu einer Bildmarke |
|
|
|
gotoAndPlay("meineMarke"); |
|
|
|
// Gehe zu einem berechneten Bild |
|
|
|
// Gehe zu einer Bildnummer in einer anderen Szene |
|
|
|
gotoAndPlay("meineSzene", 5); |
|
|
|
// Gehe zu einer Bildmarke in einer anderen Szene |
|
|
|
gotoAndPlay("meineSzene", "meineMarke"); |
|
|
|
// Gehe zu einem berechneten Bild in einer anderen Szene |
|
|
|
gotoAndPlay("meineSzene", 3+2); |
|
|
|
// Alternative seit Flash 5 |
|
|
|
movieClipInstanz.gotoAndPlay(bild); |
|
|
Bildbezeichnungen versus Bildnummer
Es bietet sich an, eine Bildbezeichnung zu verwenden, wenn das Ziel ein Schlüsselbild ist. Bildbezeichnungen bleiben gleich, auch wenn sich das Bild auf der Zeitleiste verschiebt. Bildnummern hingegen ändern sich schnell und unbemerkt.
6.1.2 gotoAndStop
Verwenden Sie die Aktion gotoAndStop, um einen anderen Zustand Ihrer Anwendung anzuzeigen. Denn diese Aktion wechselt in das angegebene Bild eines Movieclips und stoppt die zugehörige Zeitleiste. Mögliche Anwendungsfälle sind, dass der Benutzer durch das Betätigen einer Schaltfläche in einen anderen Bereich der Zeitleiste, also zu anderen Inhalten navigiert.
|
Bemerkung: |
|
Diese Aktion steht seit dem Flash Player 2 zur Verfügung. Alternativ sollte die gleichnamige Methode des Movieclip-Objektes eingesetzt werden. |
|
|
|
Syntax: |
gotoAndStop(bild);
gotoAndStop(szene, bild);
|
Parameter: |
|
Verwenden Sie eine Zeichenkette mit dem Namen der gewünschten Szene als ersten Parameter. Der zweite Parameter kann sowohl als Zeichenkette für Bildmarkierungen oder als Ganzzahl für Bildnummern angegeben werden. Sollten Sie nur einen Parameter verwenden, dann muss dieser für die Bildbezeichnung oder Bildnummer stehen. |
|
|
|
Beispiel: |
// Gehe zu einer Bildnummer
gotoAndStop(5);
// Gehe zu einer Bildmarke
gotoAndStop ("meineMarke");
// Gehe zu einem berechneten Bild
gotoAndStop (3+2);
// Gehe zu einer Bildnummer in einer anderen Szene
gotoAndStop("meineSzene", 5);
// Gehe zu einer Bildmarke in einer anderen Szene
gotoAndStop("meineSzene", "meineMarke");
// Gehe zu einem berechneten Bild in einer anderen Szene
gotoAndStop("meineSzene", 3+2);
// Alternative seit Flash 5
movieClipInstanz.gotoAndStop(bild);
goto, stop und play kombinieren
Falls Sie mit gotoAndStop in ein Bild springen, das die Aktion play beinhaltet, wird in der Entwicklungsumgebung play ignoriert. In der fertigen Flash-Anwendung spielt die Zeitleiste dann aber richtig ab. Dasselbe passiert (nur umgekehrt) auch beim Sprung mit gotoAndPlay in ein Bild, das die Aktion stop beinhaltet. In der Entwicklungsumgebung wird das stop ignoriert. Im fertigen Film oder über Steuerung • Film testen funktioniert alles korrekt. Ein Grund mehr, dem Abspielen innerhalb der Entwicklungsumgebung nicht zu trauen!
6.1.3 nextFrame
Die Aktion nextFrame wechselt in das nächste Bild und stoppt das Abspielen.
|
Bemerkung: |
|
Diese Aktion steht seit dem Flash Player 2 zur Verfügung. Alternativ sollte die gleichnamige Methode des Movieclip-Objektes eingesetzt werden. |
|
|
|
Syntax: |
nextFrame();
|
Parameter: |
Diese Aktion besitzt keine Parameter.
|
Beispiel: |
// Gehe ins nächste Bild
nextFrame();
// Alternative Methode seit Flash 5
movieClipInstanz.nextFrame();
Vermeiden Sie Szenen!
In älteren Flash-Büchern haben die Autoren oft noch die Verwendung von Szenen propagiert. Mittlerweile ist in den meisten Fällen davon jedoch abzuraten, da sich Flash immer mehr von einem Animationswerkzeug zu einer Entwicklungsumgebung gewandelt hat. Solange Ihre Anwendungen sehr animationslastig sind oder z.B. später als Video veröffentlicht werden, bieten die Szenen dennoch weiterhin Vorteile: Beispielsweise lässt sich ein Film so leichter strukturieren. Aber spätestens beim Einsatz von ActionScript überwiegen die Nachteile. Zum Beispiel funktionieren Szenen nicht immer mit den neueren Programmiermethoden (gerade Bildnummern werden bei Methoden absolut und nicht relativ zu einer Szene ermittelt).
Im Wesentlichen liegt das daran, dass der Flash Player überhaupt keine Szenen kennt. Diese exisiteren nur innerhalb der Entwicklungsumgebung als Hilfe und werden in der fertigen SWF-Datei einfach zu einer großen einzelnen Zeitleiste ohne Szenen zusammengefügt. Dementsprechend ist zum Beispiel das zweite Bild in der dritten Szene eigentlich das Bild mit der Nummer 22 – natürlich nur, wenn die vorherigen Szenen zusammen genau 20 Bilder lang sind. Diese Umrechnung übernimmt Flash in den meisten Fällen automatisch – aber eben nicht immer!
6.1.4 nextScene
Die Aktion nextScene wechselt in das erste Bild der nachfolgenden Szene und stoppt das Abspielen.
|
Bemerkung: |
|
Diese Aktion steht seit dem Flash Player 2 zur Verfügung. Es steht keine alternative Methode zur Verfügung. |
|
|
|
Syntax: |
nextScene();
|
Parameter: |
Diese Aktion besitzt keine Parameter.
|
Beispiel: |
// Gehe in die nächste Szene
nextScene();
6.1.5 play
Die Aktion play setzt den Abspielvorgang fort. play benötigen Sie dann, wenn das Abspielen nach einem Stopp wieder fortgesetzt werden muss. Falls der Betrachter einen Film z.B. unterbrechen kann, dann sollten Sie ihm eine Schaltfläche zum Fortsetzen anbieten!
|
Bemerkung: |
|
Diese Aktion steht seit dem Flash Player 2 zur Verfügung. Alternativ sollte die gleichnamige Methode des Movieclip-Objektes eingesetzt werden. |
|
|
|
Syntax: |
play();
|
Parameter: |
Diese Aktion besitzt keine Parameter.
|
Beispiel: |
// Spiele weiter ab
play();
// Alternative Methode seit Flash 5
movieClipInstanz.play();
6.1.6 prevFrame
Der Befehl prevFrame wechselt in das vorhergehende Bild und stoppt das Abspielen.
|
Bemerkung: |
|
Diese Aktion steht seit dem Flash Player 2 zur Verfügung. Alternativ sollte die gleichnamige Methode des Movieclip-Objektes eingesetzt werden. |
|
|
|
Syntax: |
prevFrame();
|
Parameter: |
Diese Aktion besitzt keine Parameter.
|
Beispiel: |
// Gehe ins vorherige Bild
prevFrame();
// Alternative Methode seit Flash 5
movieClipInstanz.prevFrame();
Weiterspielen nach Bildwechsel
Sollten Sie in das vorhergehende Bild wechseln wollen, ohne den Abspielkopf anzuhalten, dann können Sie auch das folgende Skript verwenden:
|
prevFrame(); |
|
play(); |
6.1.7 prevScene
Die Aktion prevScene wechselt in das erste Bild der vorhergehenden Szene und stoppt das Abspielen.
|
Bemerkung: |
|
Diese Aktion steht seit dem Flash Player 2 zur Verfügung. Es steht keine alternative Methode zur Verfügung. |
|
|
|
Syntax: |
prevScene();
|
Parameter: |
Diese Aktion besitzt keine Parameter.
|
Beispiel: |
// Gehe in die vorherige Szene
prevScene();
6.1.8 stop
02_Programmierung\
Aktionen\Stop
Die Aktion stop hält den Abspielvorgang an. Mögliche Anwendungsfälle sind, dass das Ende einer Animation erreicht ist oder dass der Anwender eine Animation anhält. Auch bei der Navigation durch die Inhalte einer Flash-Anwendung werden diese häufig mit einem stop abgeschlossen.
|
Bemerkung: |
|
Diese Aktion steht seit dem Flash Player 2 zur Verfügung. Alternativ sollte die gleichnamige Methode des Movieclip-Objektes eingesetzt werden. |
|
|
|
Syntax: |
stop();
|
Parameter: |
Diese Aktion besitzt keine Parameter.
|
Beispiel: |
// Stoppe das Abspielen
stop()
// Alternative Methode seit Flash 5
movieClipInstanz.stop();
6.1.9 startDrag
02_Programmierung\
Aktionen\drag and drop
Die Aktion startDrag beginnt das Ziehen eines Objektes. Diese Aktion wird immer dann benötigt, wenn ein Objekt an den Mauszeiger gebunden werden muss. Zum Beenden wählen Sie stopDrag.
|
Bemerkung: |
|
Diese Aktion steht seit dem Flash Player 4 zur Verfügung. Alternativ sollte die gleichnamige Methode des Movieclip-Objektes eingesetzt werden. Es kann immer nur genau ein Movieclip gleichzeitig mit startDrag an den Mauszeiger gebunden werden. |
|
|
|
Syntax: |
startDrag(ziel, einrasten, links, oben, rechts, unten);
|
Parameter: |
|
Der erste Parameter dieser Aktion bestimmt den zu ziehenden Movieclip über seinen Instanznamen als Zeichenkette. Geben Sie eine leere Zeichenkette an, wenn Sie den Movieclip bzw. die gesamte Anwendung ziehen möchten, in der sich das Skript befindet. |
|
|
|
Der optionale zweite Parameter legt als boolescher Wert fest, ob der Movieclip mit Beginn der Ziehoperation seine relative Position zur Maus beibehält (true) oder mit seinem Registrierpunkt (bis Flash MX war dies der Mittelpunkt, was aber nicht zwingend so sein muss) genau unter dem Mauszeiger liegt. |
|
|
|
Die optionalen Parameter für links, oben, rechts und unten schränken den Bereich, in dem gezogen werden kann, auf ein Rechteck ein. Dieser Bereich wird als Fließkommazahl in Pixel festgelegt. Sollten diese Parameter nicht angegeben werden, dann wird die gesamte Fläche der Flash-Anwendung für das Ziehen verwendet. |
|
|
|
Beispiel: |
// Binde Movieclip-Instanz an den Mauszeiger
startDrag("_root.mcMonster");
startDrag("_root.mcMonster", true);
startDrag("_root.mcMonster", true, 0, 200, 550, 200);
// Alternative Methode seit Flash 5
_root.mcMonster.startDrag();
_root.mcMonster.startDrag(true);
_root.mcMonster.startDrag(true, 0, 200, 550, 200);
6.1.10 stopDrag
Die Aktion stopDrag beendet das durch startDrag begonnene Ziehen eines Objektes. Diese Aktion wird immer dann benötigt, wenn ein an den Mauszeiger gebundenes Objekt wieder gelöst werden muss (Drag and Drop).
|
Bemerkung: |
|
Diese Aktion steht seit dem Flash Player 4 zur Verfügung. Alternativ sollte die gleichnamige Methode des Movieclip-Objektes eingesetzt werden. |
|
|
|
Syntax: |
stopDrag();
|
Parameter: |
Diese Aktion besitzt keine Parameter.
|
Beispiel: |
// Beende startDrag-Aktion
stopDrag();
// Alternative Methode seit Flash 5
movieClipInstanz.stopDrag();
6.1.11 toggleHighQuality
Die Aktion toggleHighQuality wechselt zwischen eingeschaltetem und ausgeschaltetem Kantenglätten (Anti-Aliasing).
|
Bemerkung: |
|
Diese Aktion steht seit dem Flash Player 2 zur Verfügung und gilt seit Flash 5 als veraltet. Verwenden Sie aus diesem Grund besser die Filmeigenschaft _quality (ab Flash 5). |
|
|
|
Syntax: |
toggleHighQuality();
|
Parameter: |
Diese Aktion besitzt keine Parameter.
|
Beispiel: |
// Deaktiviere oder aktiviere die Kantenglättung
toggleHighQuality();
// Alternative Methode seit Flash 5
if (_quality == "LOW") {
_quality = "HIGH";
} else {
_quality = "LOW";
};
6.1.12 duplicateMovieClip
Die Aktion duplicateMovieClip vervielfältigt eine Movieclip-Instanz (ähnlich wie bei einem Klonen). Dies ist immer dann nützlich, wenn Objekte dynamisch erzeugt werden – insbesondere wenn die Anzahl nicht im Vorfeld bekannt ist.
|
Bemerkung: |
|
Diese Aktion steht seit dem Flash Player 4 zur Verfügung. Alternativ sollte die gleichnamige Methode des Movieclip-Objektes eingesetzt werden. |
|
|
|
Syntax: |
duplicateMovieClip(ziel, neuerName, tiefe);
|
Parameter: |
|
Der erste Parameter bestimmt den zu duplizierenden Movieclip über seinen Instanznamen als Zeichenkette. Das Duplikat erhält über den zweiten Parameter einen Instanznamen, der eindeutig sein muss. Der dritte Parameter legt die ebenfalls eindeutige Tiefe als Ganzzahl fest. Die Tiefe entspricht der Stapelreihenfolge und bestimmt, welche Instanzen optisch vorne und welche weiter hinten liegen. Mehr über die Stapelreihenfolge und den Aufbau einer Flash-Anwendung erfahren Sie im Kapitel 11. |
|
|
|
Beispiel: |
// Dupliziere Movieclip
duplicateMovieClip("original", "duplikat", 1);
duplikat._x = duplikat._x+100;
duplikat._y = duplikat._y+100;
// Alternative Methode seit Flash 5
original.duplicateMovieClip("duplikat", 1);
duplikat._x = duplikat._x+100;
duplikat._y = duplikat._y+100;
6.1.13 removeMovieClip
Die Aktion removeMovieClip ermöglicht es, dynamisch erzeugte Movieclips wieder zu entfernen – dazu zählen beispielsweise die durch duplicateMovieClip erzeugten Instanzen.
|
Bemerkung: |
|
Diese Aktion steht seit dem Flash Player 4 zur Verfügung. Alternativ sollte die gleichnamige Methode des Movieclip-Objektes eingesetzt werden. |
|
|
|
Syntax: |
removeMovieClip(ziel);
|
Parameter: |
|
Der Parameter dieser Aktion bestimmt den zu löschenden Movieclip über seinen Instanznamen als Zeichenkette. |
|
|
|
Beispiel: |
// Erzeuge und lösche einen Movieclip
duplicateMovieClip("original", "duplikat", 1);
duplikat._x = duplikat._x+100;
duplikat._y = duplikat._y+100;
removeMovieClip(«duplikat»);
// Alternative Methode seit Flash 5
original.duplicateMovieClip("duplikat", 1);
duplikat._x = duplikat._x+100;
duplikat._y = duplikat._y+100;
duplikat.removeMovieClip();
Löschen von Movieclips
Normalerweise lassen sich nur Movieclip-Instanzen entfernen, die dynamisch durch ActionScript erzeugt wurden. Mit Hilfe der Methode swapDepths lässt sich Flash aber »austricksen« und dazu bewegen, auch im Vorfeld erzeugte Movieclips zu entfernen. Denn grundsätzlich sind alle negativen Tiefen geschützt – und im Vorfeld erzeugte Instanzen liegen in der Regel im negativen Bereich. Andere Nummern hingegen sind löschbar:
|
original.swapDepths(10); |
|
removeMovieClip("original"); |
Umgekehrt lassen sich so natürlich dynamisch erzeugte Movieclips auch gegen versehentliches Löschen schützen.
|