5 Einfache Filmsteuerung
Sie werden lernen:
- Wie steuern Sie Ihre Flash-Filme per ActionScript?
- Wie springt man von Bild zu Bild?
- Was sind Ereignisprozeduren und wie setzen Sie sie ein?
Du sitzt im selben Boot. – Cicero
Die meisten Flash-Designer sitzen wahrlich, wie von Cicero beschrieben, im selben Boot: Sie benötigen nämlich eine vernünftige Steuerung für ihren Film. Der Ausgangspunkt ist die Zeitleiste von Flash. Auf ihr bewegt sich der Abspielkopf unerbittlich, es sei denn, Sie gebieten ihm mit ActionScript Einhalt.
Flash 8 Professional und Flash MX 2004 Professional bieten als Besonderheit die Entwicklung von Bildschirm-orientierten Flash-Anwendungen. Zwei Arten lassen sich unterscheiden: Flash-Präsentationen und Flash-Anwendungen. Mehr dazu erfahren Sie im nächsten Kapitel, »Bildschirme und Präsentationen«, und in Kapitel 20, »Formulare und UI-Komponenten«.
5.1 Einfache Navigation
Die Befehle zur Steuerung des Abspielkopfes kennen Sie vermutlich schon. Sie finden sie im Aktionen-Bedienfeld unter Globale Funktionen • Zeitleistensteuerung. Angenehmerweise sind die Namen der Befehle in verständlichem Englisch gehalten, so dass Sie gut erkennen können, welche Bedeutung die einzelnen Funktionen haben.
Abbildung 5.1 Die Zeitleistensteuerung im Aktionen-Bedienfeld
Abbildung 5.2 Die Codehinweise zeigen Ihnen die möglichen Parameter.
An diesen Funktionen lassen sich sehr leicht die Hilfestellungen des Aktionen-Bedienfelds nachvollziehen: Wenn Sie auf eine der Funktionen doppelklicken, erscheint sie im Codefenster. Der Codehinweis zeigt an, welche Parameter verfügbar sind. Mit gotoAndPlay() können Sie beispielsweise auf ein bestimmtes Bild oder auf eine Szene und dort auf ein Bild springen. Mit den kleinen Pfeilen im Codehinweis schalten Sie zwischen diesen möglichen Parameter-Einstellungen um.
Sehen Sie sich nun die Funktionen zur einfachen Filmsteuerung in der Praxis an. Startpunkt ist das Flash-Dokument einfache_filmsteuerung.fla auf der CD-ROM zum Buch (für 8, MX 2004 und MX jeweils in den Ordnern Flash8, FlashMX2004 und FlashMX). Es enthält ein typisches Film-Intro, das von 5 bis 1 herunterzählt. Als Steuerungsmöglichkeiten finden Sie mehrere Schaltflächen.
Schritt für Schritt: Einfache Filmsteuerung
Der Abspielkopf rennt einfach los. Deswegen müssen Sie ihn gleich im ersten Bild anhalten. Sie erinnern sich: ActionScript können Sie in der Zeitleiste nur in einem Schlüsselbild einfügen.
Wechseln Sie also in die ActionScript-Ebene und klicken Sie das Schlüsselbild in Bild 1 an. Geben Sie nun im Aktionen-Bedienfeld den Befehl stop() ein.
Abbildung 5.3 Das kleine a in der Ebene ActionScript zeigt an, dass zum ersten Schlüsselbild des Films ActionScript-Code gehört.
Nun halten Sie den Film im letzten Bild (Bild 76) an. Wechseln Sie dazu in das Schlüsselbild in der Ebene ActionScript und geben Sie auch hier stop() ein. Dies ist nicht unbedingt notwendig, da der Film nach dem letzten Bild automatisch zu Ende ist, allerdings handelt es sich hier um Vorsorge, falls Sie irgendwann noch Schlüsselbilder anhängen oder gar einen externen Film laden.
Klicken Sie die Schaltfläche links unten an: Der Film soll pausieren. Die Schaltfläche ist ein Schaltflächen-Symbol, da nur ein solches Symbol, nicht aber eine normale Grafik oder ein Grafik-Symbol ActionScript-Code enthalten darf. Im Aktionen-Bedienfeld geben Sie den folgenden Code ein:
on (release) { stop(); }
Das Schlüsselwort on zeigt an, dass ein Ereignis folgt. Das Ereignis selbst ist das Loslassen der Schaltfläche (release). Die eigentlichen Anweisungen für dieses Ereignis folgen in geschweiften Klammern. In unserem Beispiel wird der Abspielkopf mittels der Funktion stop() sofort angehalten, und zwar egal, wo er sich befindet.
Die Schaltfläche zum Abspielen finden Sie rechts neben der Schaltfläche zum Anhalten; sie funktioniert ganz ähnlich. Klicken Sie sie an und geben Sie folgenden Code ein:
on (release) { play(); }
Was passiert? Wenn der Nutzer die Schaltfläche loslässt (beim Ereignis release), setzt der Abspielkopf dank der Funktion play() seinen Weg fort, ausgehend von der Stelle, an der er sich gerade befindet.
Vor- und zurückspulen bedeutet, jeweils ein Bild vor- oder zurückzuspringen. Hierfür bietet ActionScript eigene Funktionen: nextFrame(), um ein Bild (engl. frame) nach vorne, prevFrame(), um ein Bild nach hinten zu springen. Beachten Sie, dass beide Funktionen den Abspielkopf anhalten. So sieht der Code für die Schaltfläche zum Vorspulen aus:
on (release) { nextFrame(); }
und so der Code zum Zurückspulen:
on (release) { prevFrame(); }
Abbildung 5.4 Ein Klick auf Vorspulen (links) bewegt die Animation um ein Bild weiter (rechts). Sie erkennen dies an der vertikalen Linie im Bild.
Um zu einem bestimmten Bild zu gelangen, müssen Sie den Abspielkopf springen lassen. Dafür gibt es die Funktionen gotoAndPlay() und gotoAndStop(). Der Unterschied: gotoAndPlay() springt und lässt dann den Abspielkopf weiterlaufen, gotoAndStop() springt und hält ihn an. Die zweite Funktion setzen wir für die Schaltfläche ein, die zum letzten Bild des Films (Bild 76) springen soll:
on (release) { gotoAndStop(76); }
Die Bildnummer ist der Parameter für die Funktion.
Das erste Bild enthält in unserem Beispielfilm eine Markierung auf der Ebene Text mit dem Namen FÜNF. Eine solche Markierung für ein Bild geben Sie im Eigenschafteninspektor ein. Das Praktische an der Markierung: Sie können mit ActionScript darauf springen:
on (release) { gotoAndStop("FÜNF"); }
Der Name der Markierung ist ein String, also eine Zeichenkette. Deswegen steht er in Anführungszeichen. Den Namen können Sie beliebig wählen, wir haben uns für FÜNF entschieden, da dies die 5 in unserem Film symbolisert.
Abbildung 5.5 Im Eigenschaften- inspektor geben Sie eine Bildmarkierung ein.
Die fertige Datei zum Nachvollziehen finden Sie auf der CD-ROM unter dem Namen einfache_filmsteuerung_AS1_2.fla im Flash8- und FlashMX2004-Ordner zum Kapitel und unter einfache_filmsteuerung_AS1.fla im Ordner für Flash MX.
Bildmarkierungen
In Flash 8 und MX 2004 haben Sie im Eigenschafteninspektor die Wahl zwischen drei Beschriftungstypen für Ihre Bildmarkierung. Diese drei unterscheiden sich aus ActionScript-Sicht:
- Name ist die Standardeinstellung. Mit dem Namen einer Markierung können Sie, wie in Schritt 7 gezeigt, auf das gewünschte Bild mit ActionScript springen. Einen Namen erkennen Sie in der Zeitleiste immer an dem roten Fähnchen.
Abbildung 5.6 Vorsicht, wenn Sie einen Namen zweimal vergeben, erhalten Sie eine Fehlermeldung. Der Name einer Bildmarkierung muss immer eindeutig sein!
Zurück im Browser |
Ein benannter Anker hat gegenüber einer normalen Bildmarkierung den Vorteil, dass er für die Vor- und Zurück-Schaltflächen des Browsers erkennbar ist. Der Nutzer springt beispielsweise bei einem Klick auf die Zurück-Schaltfläche des Browsers zurück zum letzten Anker. |
- Eine Bildmarkierung mit dem Typ Kommentar hat keine Funktion, außer zusätzliche Informationen anzugeben. Aus diesem Grund ist die Markierung nicht von ActionScript aus ansprechbar. Flash stellt einem Kommentar automatisch zwei Schrägstriche voran, das sind die Kommentarzeichen von ActionScript.
- Anker unterscheidet sich in ActionScript nicht vom Beschriftungstyp Name. Eine Bildmarkierung mit dem Typ Anker lässt sich genauso einfach anspringen wie eine mit dem Typ Name.
In Flash MX haben Sie im Eigenschafteninspektor nur die Wahl zwischen normalem Namen oder benanntem Anker. Um einen Kommentar einzufügen, schreiben Sie einfach zwei Schrägstriche vor den Namen: //Name.
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.