Flash MX-Tutorial: Ein Kippschalter für Flash-Filme - Aviva - Berlin Online Magazin und Informationsportal für Frauen aviva-berlin.de Technik Tutorials



AVIVA-BERLIN.de im April 2021 - Beitrag vom 30.03.2005


Flash MX-Tutorial: Ein Kippschalter für Flash-Filme
Gerlinde Behrendt

Programmieren lernen mit Flash Action Script: Filme an- und wieder ausschalten




Powered by Macromedia

Vorbemerkung



Keine Angst: Lassen Sie sich nicht von kompliziert erscheinenden Scripts erschrecken! Flash ist ein gutes Programm für "Programmier-Einsteigerinnen". Probieren Sie ein paar einfache ActionScripts - wie "goto and stop" - selbst aus und versuchen Sie, einfache Basiskonzepte zu verstehen. Wenn Sie für ein Projekt komplexere Programmierausdrücke benötigen, schauen Sie doch mal nach, ob Sie ähnliche Beispiele finden, z.B. bei den von Macromedia mitgelieferten Übungs- und Beispieldateien, oder auf Flash-Seiten im Internet, wie z.B. bei Flashkit. Viele Flash-EntwicklerInnen geben detailiert Auskunft über ihre Scripte. Dann versuchen Sie herauszufinden, wo Sie die Beispiele verändern müssen, so dass sie für Ihr Projekt passen.

Eigentlich ist alles ganz einfach: Der Computer soll etwas für uns tun, wir müssen ihm nur noch sagen, was...Für interaktive Anwendungen benutzt man in Flash ActionScripts. Die Dinge, die in einem Flash Film erscheinen, werden in der Programmiersprache "Objekte" genannt. Das, was sie tun sollen ist eine "Aktion". Es geht also darum, Objekten Befehle zu einer Aktion zu erteilen. Ferner ist es in Flash wichtig zu unterscheiden, ob man ein Script in einem Objet (auf der Bühne) oder in einem Bild (in der Zeitleiste) anbringt. Ein Beispiel:

Ein Schalter mit Flash ActionScript


So sieht der fertige Schalter aus: (Bitte draufklicken!)

Haben Sie sich auch schon gefragt, wie man in einer Flash-Datei ein Bild oder ein anderes Objekt ein- und wieder ausschalten kann?.

Wenn Sie ein Objekt erstellt haben, wird es gezeigt, sobald es auf der Bühne erscheint. Da könnte es ewig bleiben, wenn ihm nichts anderes mitgeteilt wird. Wenn es sich bewegen soll, können die Veränderungen mit Hilfe der Zeitleiste programmiert werden. Die Zeitleiste wird nun abgearbeitet: Wenn Sie daraus einen Flash-Film erstellen, läuft er bis zum Ende durch und fängt wieder von vorn an..Bis das Objekt angehalten wird: Sie platzieren einen Stop - Befehl, z.B. am Ende der Zeitleiste, dann läuft der Film nur noch einmal durch. Aber wie schaltet man den Film wieder an? Besonders gewitzte Userinnen wissen natürlich, dass man mit Hilfe des Reload-Buttons des Browsers den Film noch einmal von vorn starten kann, das kann man aber nicht für Besucherinnen der Seite voraussetzen. Ein Toggle-Schalter (ein/aus) muss her!.

Erstellen Sie mit einem Formwerkzeug - Rechteck oder Oval - eine Button-Form und duplizieren sie (Strg/D). Beschriften sie die zwei Buttons mit "Los" und "Stop" ( oder nach Belieben mit "An und Aus"), gruppieren Sie den jeweiligen Set und machen ein Symbol daraus (Einfügen/Symbol). Weisen Sie dem Symbol die Eigenschaft "Schaltfläche" zu. Platzieren sie beide Objekte passgenau übereinander auf der Bühne, auf derselben Ebene, sie benötigen nur ein Bild in der Zeitleiste. Geben Sie dem Stop Button unten im Eigenschaften-Inspektor den Instanznamen "bild_stop" dem Los-Button die Bezeichnung "bild_los".

Mit dem Script wollen wir nun jeweils eines der beiden Bilder unsichtbar machen, je nach Schaltzustand. Wir werden das Script für den Button im markierten Bild (engisch: frame) in der Zeitleiste unterbringen, da es ja für beide in diesen frame untergebrachten Objekte gelten soll. Markieren Sie also in der Zeitleiste den frame und öffnen Sie den ActionScript Editor im Expertenmodus (Klicken Sie in dem untere Aktionenfenster in die rechte obere Ecke und klicken Sie "Expertenmodus" an).

Wir wollen dann fürs erste den Button "Los" auf unsichtbar setzen. der Flashfilm läuft standardmäßig erstmal los, daher muss man dem User die Möglichkeit geben, den Film zu stoppen, "stop" sollte deswegen zuerst sichtbar sein. Die Definition dafür lautet:

bild_los._visible = 0,

Das heißt in der neuen ActionScript Konvention (Punktsyntax), das von uns als Instanzname vergebene bild_los ist auf visible=0 geschaltet. Das hat den Vorteil, dass beide Objekte vorhanden sind, allerdings nur eins zu sehen und ansprechbar ist. Als nächstes ist es sinnvoll jeden der beiden Zustände per Funktion (function) aufzurufen, so werden die Bilder nach einem Mausereignis - in ihrer Eigenschaft sichtbar oder unsichtbar - ausgetauscht:

function ispause() {
visible = false,}
function nopause() {
visible = true,
}

Nun müssen wir nur noch die Funktionen aufrufen, das können wir per Mausklick tun, wir haben ja unsere Objekte als Schaltflächen deklariert (in unserem Fall onRelease d.h., nach dem Loslassen der Maustaste).

bild_stop.onRelease=function() {
nopause(),
bild_stop._visible = 0,
bild_los._visible = 1,
}
bild_los.onRelease=function() {
ispause(),
bild_los._visible = 0,
bild_stop._visible = 1,
}

Fertig!. Nun noch speichern, den Film testen und den Schalter benutzen. Hier ist nochmal das Script im Zusammenhang:


Technik > Tutorials

Beitrag vom 30.03.2005

Gerlinde Behrendt