20.3 Beispielanwendung ohne Flash Professional
Wie bereits erwähnt ist das Bildschirm-orientierte Arbeiten eine Neuerung der Professional-Version von Flash MX 2004 und Flash 8. Allerdings ist das Beispiel auch ohne die teuren Ausgaben von Flash MX 2004 bzw. Flash 8 möglich, sogar mit dem alten Flash MX. Sie müssen nur auf die Bildschirm-Orientierung verzichten.
Der Trick besteht darin, mehrere Schlüsselbilder zu verwenden: In einem Schlüsselbild platzieren Sie das Eingabeformular, in einem anderen das Ausgabeformular. Das einzige Problem besteht darin, die Daten zwischen den Formularen zu übergeben. Die UI-Komponenten sind MovieClips, die beim Sprung zum nächsten Schlüsselbild ihre Werte verlieren. Die Lösung: Speichern Sie die aktuellen Formulardaten in Variablen und greifen Sie aus dem anderen Schlüsselbild darauf zu. Mit dieser Vorüberlegung lässt sich die Anwendung schnell auf alte Flash-Versionen übertragen.
Schritt für Schritt: Umfrage mit Flash MX (oder Versionen ohne »Professional«)
Öffnen Sie die Datei Umfrage_flash.fla von der CD-ROM. Darin finden Sie das komplette Beispiel, nur ein wenig ActionScript fehlt. In derZeitleiste sehen Sie bereits den Aufbau: Bild 1 enthält das Eingabeformular, Bild 10 das Ausgabeformular.
Abbildung 20.18 Die Zeitleiste des Beispiels
Bauen Sie noch einmal eine Vollständigkeitsüberprüfung ein. Allerdings gibt es drei Neuerungen:
- Der Film sollte mit stop() angehalten werden.
- Sie müssen den Verweis auf den Unterbildschirm formularelemente streichen, den gibt es ja nicht mehr.
- Sie speichern die aktuellen Formularwerte gleich in globalen Variablen.
Hier der entsprechende Code:
stop(); var hersteller_str:String; var preisklasse_num:Number; var funktion_boolean:Boolean; var verbesserung_str:String; var id = setInterval(pruefen, 250); function pruefen() { var ok:Boolean = true; if (hersteller.text == "") { ok = false; } if (preisklasse.selectedItem == null) { ok = false; } if (funktionJa.selected == false && funktionNein. selected == false) { ok = false; } if (verwendung.selected == false) { ok = false; } if (verbesserung.text == "") { ok = false; } if (status != ok) { absenden_btn.enabled = ok; } hersteller_str = hersteller.text; preisklasse_num = preisklasse.selectedIndex; funktion_boolean = funktionJa.selected; verbesserung_str = verbesserung.text; }
Der Code gehört in Bild 1.
Nach einem Klick auf die Schaltfläche muss der Film zu Bild 10 springen, denn dort ist das Ausgabeformular. Hier die zugehörige Aktion:
on (click) { _parent.gotoAndStop(10); }
Das _parent ist notwendig, um den MovieClip der Schaltfläche zu verlassen, er hat nämlich eine eigene Zeitleiste.
Es fehlt lediglich die Ausgabe der Formulardaten in Bild 10. Der Zugriff ist sehr einfach, da es keine hierarchische Struktur mehr im Film gibt. Dadurch ist dieser Film bei der Erstellung weniger fehlerträchtig als der Film bei der Professional-Variante. Der Code für Bild 10 sieht so aus:
clearInterval(id); herstellerAusgabe_txt.text = hersteller_str; var preis_str:String = ""; switch (preisklasse_num) { case 0: preis_str = "wenig"; break; case 1: preis_str = "einige"; break; case 2: preis_str = "viele"; break; case 3: preis_str = "etliche"; break; case 4: preis_str = "zu viele"; break; } preisklasseAusgabe_txt.text = preis_str; if (funktion_boolean) { funktionAusgabe_txt.text = "sehr"; } else { funktionAusgabe_txt.text = "nicht sehr"; } verbesserungAusgabe_txt.text = verbesserung_str;
Bewundern Sie das Ergebnis Ihrer Programmierung. Wir hoffen, das war den (geringen) Aufwand wert.
Wenn Sie es ganz bequem haben möchten, sehen Sie sich das Endergebnis auf der CD-ROM unter dem Dateinamen Umfrage_flash_AS2.fla bzw. Umfrage_flash_AS1.fla an.
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.