5.3 Auswahl treffen
Der Abspielkopf in der Zeitleiste ist »gnadenlos«: Er läuft und läuft. Mit ActionScript können Sie ihn wie gesehen anhalten und an andere Stellen springen lassen. Das deckt aber nicht alle Anforderungen in der Praxis ab. Stellen Sie sich folgenden Fall vor: Sie haben einen Eröffnungsbildschirm, auf dem der Nutzer drei verschiedene Optionen über Schaltflächen-Symbole wählen kann. Je nach Option landet er auf einer anderen Seite. Allerdings soll er die Eröffnungsseite nicht sofort verlassen, sondern erst wenn er auf eine vierte Schaltfläche drückt, die seine Auswahl bestätigt. Das heißt also, direkte Sprungbefehle funktionieren nicht. Stattdessen müssen Sie die Wahl des Nutzers zwischenspeichern; dazu bietet sich eine Variable als Datenspeicher an.
Ein einfaches Beispiel zeigt Ihnen, wie sich der oben dargestellte Fall realisieren lässt. Ausgangspunkt ist die Datei bildauswahl.fla auf der CD-ROM (in den Ordnern FlashMX2004 und FlashMX). Sie besitzt im ersten Bild drei Schaltflächen zur Bildauswahl (2, 10, 20) und eine zum Bestätigen (GO). In den jeweiligen Bildern 2, 10 und 20 zeigt ein statisches Textfeld, wo Sie sich gerade befinden.
Schritt für Schritt: Ein Bild auswählen
Nun kommen Sie als Programmierer ins Spiel, denn der ActionScript-Code fehlt noch:
1. | Film anhalten |
Halten Sie den Film im ersten Schlüsselbild mit stop() an.
2. | Variable für die Auswahl definieren |
Definieren Sie eine Variable mit dem Datentyp Number, die das vom Nutzer gewünschte Bild aufnimmt:
var bild_num:Number = 1;
Diese Variable ist der Schlüssel zur Bildauswahl.
3. | Auswahl per Schaltfläche treffen |
Ändern Sie bei den drei Schaltflächen-Symbolen 2, 10 und 20 den Wert von bild_num auf das Bild, das angesprungen werden soll. Für Bild Nummer 2 also:
on (release) { bild_num = 2; }
Für Bild 10:
on (release) { bild_num = 10; }
und analog für 20.
4. | Zum Bild wechseln |
Geben Sie für die Schaltfläche GO folgenden Code ein:
on (release) { gotoAndStop(bild_num); }
Was passiert? Der Nutzer klickt auf GO und springt zu dem Bild, das in der Variablen bild_num gespeichert ist.
Abbildung 5.10 Der Nutzer wählt Bild 2 aus (links), klickt auf GO (Mitte) und springt auf Bild 2 im Film (rechts).
Die fertige Datei mit dem hier gezeigten Code finden Sie unter dem Namen bildauswahl_AS2.fla auf der CD-ROM im Ordner Flash8 bzw. FlashMX2004. Die kompatible Variante für ActionScript 1 (und damit für Flash MX) ohne strenge Typisierung der Variablennamen befindet sich ebenfalls auf der CD-ROM im Ordner FlashMX und trägt den Namen bildauswahl_AS1.fla.
Das hier gezeigte Beispiel ist nur eine von vielen Varianten für die Anwendung der Auswahl-Technik. So ist es möglich, den Nutzer in Bild 1 wählen zu lassen, wohin er in Bild 50 springen möchte. Sie speichern seine Wahl in einer Variablen; in Bild 50 verwenden Sie den Wert dieser Variablen, um den weiteren Weg festzulegen.
Sie können statt der Bildnummer genauso gut einen String mit der Bildmarkierung eingeben. Wenn Sie in der Variablen einen Wert speichern, der kein möglicher Parameter für gotoAndPlay() oder gotoAndStop() ist, müssen Sie allerdings eine Fallunterscheidung einbauen:
if (unterscheidung_str == "on") { gotoAndPlay(20); }
Dieser Weg ist meistens umständlicher, als direkt ein Bild oder eine Markierung anzugeben. Sie sind aber flexibler, falls das endgültige Bild oder der Name der Markierung bzw. Szene noch nicht feststeht.
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.