Das Praxisbuch ActionScript 3 Aktuell zu Adobe Flash CS5
Galileo Press
Auf einen Blick TEILI
Einfacher Einstieg
25
TEIL II
ActionScript
89
TEIL IM
Filme steuern
173
TEIL IV
Ein-und Ausgabe
221
TEILV
Animation
315
TEIL VI
Multimedia
377
TEIL VII
Formulare und Ul
489
TEIL VIII
Kommunikation
555
TEIL IX
Praxis
653
Inhalt Vorwort
19
TEIL I Einfacher Einstieg 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8
Flash für ActionScript
27
Zeitleiste Symbole Koordinatensystem und Bühne Verhalten Codefragmente Veröffentlichen und testen Flash-Versionen Aktionen-Bedienfeld 1.8.1 Werkzeugleiste 1.8.2 Menü Skriptbedienfeld für externe Klassen Hilfe Einstellungen 1.11.1 ActionScript-Voreinstellungen 1.11.2 Auto-Format-Optionen 1.11.3 ActionScript-3.0-Einstellungen beim Veröffentlichen
27 28 32 36 36 38 40 42 45 50 52 53 54 54 56 57
2
ActionScript in Flash
59
2.1
Wo ist 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.1.10 2.1.11
59 61 65 66 67 68 70 71 71 72 72 72
1.9 1.10 1.11
ActionScript möglich? Ein einfaches Beispiel Mausereignisse Allgemeine Ereignisse Anonyme Funktionen Event-Bubbling und Ziele Event-Phasen Standardverhalten Weitere Parameter von addEventListenerO Mehrere Event-Listener Event-Listener entfernen Eigene Ereignisse erzeugen
Inhalt
2.2
Was lässt sich mit ActionScript steuern? 2.2.1 Anzeigehierarchie 2.2.2 Zugriff auf Elemente 2.2.3 Zugriff auf Bühne und Hauptfilm 2.2.4 Movieclips und Schaltflächen Unterschiede und Gemeinsamkeiten
74 75 76 78
3
CS5 und ActionScript 3 - die Neuerungen
81
3.1
ActionScript 3 vs. ActionScript 1 und 2 3.1.1 Sprachkern 3.1.2 Objektorientierung 3.1.3 Ereignisse 3.1.4 Zugriff auf Elemente 3.1.5 Funktionale Neuerungen in ActionScript 3 Neue Funktionen in CS5
Grundlagen Klassen und Pakete 5.2.1 Eine erste Klasse 5.2.2 Klassenpfad
149 153 153 155
5.2.3
158
Pakete
5.2.4 Dokumentklasse Besondere Methoden 5.3.1 Konstruktor 5.3.2 get-und set-Methode Vererbung 5.4.1 Ein einfaches Beispiel 5.4.2 Mehrere Klassen in einer Datei und Überschreiben Sichtbarkeit Dynamische und versiegelte Klassen Schnittstellen
159 161 161 162 163 164 165 167 169 170
Inhalt
TEIL III Filme steuern 6
Einfache Filmsteuerung
175
6.1
6.3 6.4
Einfache Navigation 6.1.1 Bildmarkierungen 6.1.2 Aktuelles Bild und aktuelle Markierung Szenen 6.2.1 Weniger Code 6.2.2 Scene-Klasse Auswahl treffen Movieclips steuern
175 181 182 182 185 186 188 190
7
Bildschirme und Präsentationen
195
7.1
7.2
Bildschirme in ActionScript 7.1.1 Name und Zugriff auf Folien 7.1.2 Hierarchie und Verschachtelung 7.1.3 Verhalten 7.1.4 Präsentieren in wenigen Schritten Präsentationen ohne Bildschirme
195 196 198 200 202 204
8
Drucken und das Kontextmenü
207
8.1
Drucken - die Grundfunktionen 8.1.1 Druckoptionen für addPageO 8.1.2 Papierformat und -große Drucken auf Knopfdruck Kontextmenü steuern 8.3.1 Kein Drucken im Kontextmenü 8.3.2 Kontextmenü sperren 8.3.3 Kontextmenü sperren - mit ActionScript 8.3.4 ContextMenu-Klasse Kontextmenü erweitern
207 208 209 210 212 213 214 215 215 217
6.2
8.2 8.3
8.4
TEIL IV Ein- und Ausgabe 9
Textfelder
223
9.1
Textfelder und ActionScript 9.1.1 Dynamische Textfelder 9.1.2 Eingabefelder
223 224 226
Inhalt
9.7
9.1.3 Textfelder dynamisch generieren Textfeldinhalte von klassischen Textfeldern Klassische Textfelder formatieren und verändern 9.3.1 Inhalt des Textfelds 9.3.2 DisplayObject-Eigenschaften 9.3.3 Formatierungsoptionen für Textfelder 9.3.4 Text formatieren 9.3.5 Stylesheets Text Layout Framework Scrollbarer Text Inhalte überprüfen 9.6.1 Ereignis für Textfelder 9.6.2 Eigenschaften 9.6.3 Reguläre Ausdrücke Blocktext einsetzen
Grundlagen Ein Quiz mit Tastatursteuerung Spielerische Tastensteuerung 10.3.1 Movieclips steuern - ein Beispiel 10.3.2 Gedrückt halten und mehrere Tasten drücken
263 267 272 272 278
11
Datum und Zeit
283
11.1
11.2 11.3
Gegenwart, Vergangenheit und Zukunft 11.1.1 Deutsches Datum 11.1.2 Eigene Datumswerte 11.1.3 Eigenschaften Zeit und Uhr Countdown
283 285 287 287 288 291
12
Rechnen
297
12.1 12.2
Einfache Rechenhilfen Bögen und Trigonometrie 12.2.1 Trigonometrie - am Einheitskreis erklärt 12.2.2 Trigonometrie in ActionScript Zufall und Runden 12.3.1 Runden und Artverwandtes 12.3.2 Beliebige Zufallszahlen
298 299 299 301 304 304 305
9.2 9.3
9.4 9.5 9.6
12.3
Inhalt
TEIL V Animation 13
Grundlagen und nützliche Helfer
317
13.1
(
Regelmäßige Veränderung 13.1.1 setlntervalO 13.1.2 ENTER_FRAME 13.1.3 Timer Tweens 13.2.1 Tween-Klassen 13.2.2 Transitions 13.2.3 Tweens kopieren Dynamische Anzeigeobjekte 13.3.1 Dynamisch erstellt-aus der Bibliothek 13.3.2 Dynamisch erstellt-Zeichen-API 13.3.3 Wichtige Methoden für die Anzeigeliste Masken 13.4.1 Maske für einen Movieclip 13.4.2 Masken-Ebenen
Wechselspiele 14.1.1 Farben zuweisen - ein Beispiel 14.1.2 Einzelne Farbwerte verändern 14.1.3 Matrix und Geometrie Drag& Drop Schieberegler
343 345 349 350 352 355
15
Kollisionstest und Mausverfolgung
361
15.1
Kollisionen abfangen 15.1.1 hitTestObjectO im Test 15.1.2 Handgeschriebene Lösungen und hitTestPoint() 15.1.3 HitArea-Kollision für Schaltflächen-Movieclips Aus Kollisionen wird eine Anwendung Mausbewegungen verfolgen
361 362 363 368 369 374
13.2
13.3
13.4
15.2 15.3
10
Inhalt
TEIL VI Multimedia 16
Sound
379
16.1
Externen Sound laden 16.1.1 ID3-Tags auslesen
380 385
16.3 16.4 16.5
16.1.2 Weiteresteuerungsmöglichkeiten Sound importieren 16.2.1 In Bühne importieren 16.2.2 In Bibliothek importieren Mehrere Sounds und Soundtransformation Equalizer und Soundrohdaten Mikrofon
387 388 388 389 390 396 402
17
Video
407
17.1
17.3 17.4
Videos in Flash importieren 17.1.1 Von einem Webserver herunterladen (externe FLV-Datei) 17.1.2 Videoseinbetten Videos mit ActionScript steuern 17.2.1 Externe FLV-Dateien mit FLVPlayback steuern 17.2.2 Externes FLV mit NetStream und NetConnection steuern 17.2.3 Eingebettete Videos steuern Cue Points Webcams
407 410 411 412 413 416 418 419 422
17.5
Videos bearbeiten
423
18
Externe Filme
427
18.1 18.2
Externe Filme laden Externe Bilder
427 432
19
Vorladen und Player erkennen
435
19.1
Vorladen 19.1.1 Eigene Ladeleiste
435 435
19.2
19.1.2 ProgressBar-Komponente Player-Erkennung
440 442
20
Bitmaps, Filter und Pixel Bender
445
20.1
Auf Pixelebene arbeiten 20.1.1 Ein Beispiel 20.1.2 Dynamisch erstellen und umfärben
445 446 448
16.2
17.2
11
Inhalt
20.2
20.3
Filter 20.2.1 Filter auf Bilder anwenden 20.2.2 FileReference - auf lokale Dateien zugreifen Pixel Bender
449 450 454 456
21
Inverse Kinematik, Zeichnen und 3D
463
21.1 21.2
Inverse Kinematik Zeichnen 21.2.1 drawPathO 21.2.2 drawGraphicsDataO 21.2.3 drawTrianglesO 21.3 3D 21.3.1 z-Achse und 3D-Transformationen 21.3.2 Perspektivische Projektion 21.3.3 Triangles für 3D und Texture Mapping
Daten versenden und austauschen Kontaktformular Datenaustausch
540 545 551
12
Inhalt
TEIL VIII Kommunikation 25
XML
557
25.1 25.2 25.3
Was istXML? Mit XML per DOM arbeiten Neue XML-Features von ActionScript 3
557 559 561
26
Webservices
571
26.1
Standards 26.1.1 Datenübertragung mit SOAP 26.1.2 Dienstauskunft mit WSDL 26.1.3 Simpel und elegant mit REST 26.2 Einen SOAP-Service nutzen 26.3 Einen REST-Service nutzen 26.4 Kommunikation mit JavaScript
572 572 574 579 579 585 590
27
Remoting
599
27.1 27.2
Flash Remoting und AMF AMFPHP
600 600
28
Flex
607
28.1
Hintergrund 28.1.1 Geschichte 28.1.2 Workflow 28.2 Installation 28.3 Beispielanwendung
607 608 609 609 610
29
AIR
621
29.1 29.2
Die Funktionen Ein Beispiel
622 630
30
Sicherheit
637
30.1 30.2
Angriffswege Eine Anwendung, viele Fehler 30.2.1 Der PHP-Code 30.2.2 Der ActionScript-Code 30.2.3 SQL Injection
638 640 641 643 645
Inhalt
30.2.4 Cross-Site Scripting 30.2.5 Weitere Fehler
647 649
TEIL IX Praxis 31
Warenkorb
655
31.1 Vo rü berlegungen 31.2 Artikelseiten 31.3 Der Warenkorb 31.4 Lieferdaten und Bestätigung
656 656 661 665
32
671
Fehler finden
32.1 Testen 32.2 traceO und die Ausgabe 32.3 Debugger
671 672 673
33
675
Barrierefreiheit
33.1 Was ist Barrierefreiheit? 33.2 Barrierefreies Flash 33.3 Barrierefreie Komponenten
675 678 680
Anhang A B Index
14
Websites und interessante Quellen Die DVD zum Buch
685 689 691
Workshops ActionScript in Flash • Event-Listener erstellen
62
Grundlagen der Programmierung • Variablenwerte ändern • Einen Funktionsaufruf testen
92 127
Objektorientierung • Eine'eigene Klasse
153
Einfache Filmsteuerung • • • •
Einfache Filmsteuerung Szenenwechsel Ein Bild auswählen Umfärben mit Filmsteuerung
177 184 188 191
Bildschirme und Präsentationen • Verhalten einsetzen • Präsentieren mit Folien
201 203
Drucken und das Kontextmenü • Drucken mit Schaltfläche • Kontextmenü steuern • Eigene Elemente im Kontextmenü
210 216 218
Textfelder • Textfelder zum Leben erwecken
228
Tasten • • • •
Quiz mit Tastaturereignissen Kransteuerung Kransteuerung II Kransteuerung III
267 273 276 277
Workshops
Datum und Zeit • Eine analoge Uhr mit ActionScript • Flexibler Countdown
289 292
Rechnen • Schaukelstuhl mit Pendelbewegung • »17 und 4«
302 307
Grundlagen und nützliche Helfer Drag & Drop und Transformationen • Chamäleon umfärben • Drag & Drop der Farbenpalette • Schieberegler
346 353 356
Kollisionstest und Mausverfolgung •
Friseur per Kollisionstest
370
Sound • Ein eigener MP3-Player • Ein kleiner Mixer • Lautstärkemessung mit dem Mikrofon
381 391 403
Video • Videoplayer mit Soundsteuerung • Mit Cue Points arbeiten • Kamera einrichten
414 420 422
Externe Filme • Mit externen Filmen arbeiten • Externe Bilder laden
429 432
Vorladen und Player erkennen • Preloader mit eigener Ladeleiste • ProgressBar-Komponente einsetzen
16
436 440
Bitmaps, Filter und Pixel Bender • Pixel auslesen • Bitmap-Funktionen einsetzen • Pixel Bender im Einsatz
446 451 458
Inverse Kinematik, Zeichnen und 3D • Mit der 3D-Matrix transformieren
476
Formulare und U l - K o m p o n e n t e n • • • • • • • •
Textfelder einsetzen I Textfelder einsetzen II Mehrzellige Textfelder einsetzen Checkboxen einsetzen Radiobuttons einsetzen Eine einfache Auswahlliste Eine Mehrfach-Auswahlliste MMS-Geschenkservice mit Flash CS5 und ActionScript 3
496 497 499 500 502 505 506 510
Komponenten anpassen • Stile erzeugen und zuweisen
526
Formulare und Daten versenden • Ein Kontaktformular erstellen
545
AIR • Eine AIR-Anwendung erstellen
631
Warenkorb • • • • •
Navigation der Artikelseiten Farbschaltflächen programmieren Warenkorb-Funktionalität Lieferdaten aufnehmen Bestätigungsseite implementieren
658 658 661 666 668
17
Video-Lektionen
Video-Lektionen auf der Buch-DVD Kapitel 1: Grundkurs »Objektorientierung«
1.1 Eigene Klassen erzeugen (19:57 Min.) 1.2 Pakete und Klassenpfade (09:36 Min.) 1.3 Die Klassenvererbung (11:14 Min.) Kapitel 2: Ereignisbehandlung und Instantiierung
2.1 Der Event-Listener (12:21 Min.) 2.2 Dynamische Instanzen (10:09 Min.)