75
Nick Weschkalnies, Rojahn Ahmadi, Ilya Shabanov Adobe Flash CS6 Das umfassende Handbuch

Adobe Flash CS6 - Amazon S3€¦ · Adobe Flash CS6 Das umfassende Handbuch. Auf einen Blick Teil I Grundlagen ..... 23 Teil II Anwendung ..... 65 Teil III ActionScript ..... 335

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Nick Weschkalnies, Rojahn Ahmadi, Ilya Shabanov

Adobe Flash CS6Das umfassende Handbuch

Auf einen Blick

Teil I Grundlagen ............................................................... 23

Teil II Anwendung ............................................................... 65

Teil III ActionScript .............................................................. 335

Teil IV Multimedia und dynamische Inhalte ....................... 543

Teil V Weitere Einsatzgebiete ............................................ 817

4

Inhalt

Inhalt

TEIL I Grundlagen

1 Was ist Flash?

1.1 Flash-Historie  ................................................................................. 25

1.2 Entwicklungsumgebung, Player und Projektor  ............................... 25

1.3 Vektoren und Pixel  ......................................................................... 27

1.4 Anwendungsbereiche  ..................................................................... 28

1.5 Neues in Flash CS5.5 und CS6  ....................................................... 34Neues in Flash CS5.5 ...................................................................... 34Neuerungen von Flash CS6 ............................................................. 39

2 Arbeitsumgebung

2.1 Begrüßungsbildschirm  ................................................................... 45

2.2 Die Entwicklungsumgebung  .......................................................... 46

2.3 Die Menüleiste  .............................................................................. 47

2.4 Die Werkzeugleiste  ........................................................................ 52

2.5 Die Zeitleiste  .................................................................................. 54

2.6 Die Bühne  ...................................................................................... 55

2.7 Entwicklungsumgebung anpassen  ................................................. 58

2.8 Tastaturkurzbefehle  ........................................................................ 63

TEIL II Anwendung

3 Zeichnen

3.1 Zeichenmodi  .................................................................................. 67

3.2 Zeichenwerkzeuge  .......................................................................... 68Strich- und Füllfarbe ....................................................................... 68Farbpalette bearbeiten .................................................................... 69

5

Inhalt

Kuler-Bedienfeld ............................................................................. 71Linienwerkzeug ............................................................................... 72Eigenschaften ändern ...................................................................... 73Stricheigenschaften ......................................................................... 73Freihandwerkzeug ........................................................................... 76Pinselwerkzeug ............................................................................... 77Sprühen-Werkzeug ......................................................................... 79Deko-Werkzeug .............................................................................. 80Radiergummiwerkzeug .................................................................... 91Rechteckwerkzeug .......................................................................... 93Werkzeug für Rechteckgrundform ................................................... 94Ellipsenwerkzeug ............................................................................ 95Werkzeug für Ellipsengrundform ..................................................... 96Polysternwerkzeug .......................................................................... 97Stiftwerkzeug .................................................................................. 97

3.3 Objekte auswählen und bearbeiten  ............................................... 99Auswahlwerkzeug ........................................................................... 99Unterauswahlwerkzeug ................................................................... 100Lassowerkzeug ................................................................................ 101

3.4 Transformationen  ........................................................................... 104Frei-transformieren-Werkzeug ......................................................... 1053D-Drehungswerkzeug ................................................................... 1063D-Versetzungswerkzeug ................................................................ 107Fluchtpunkt und Perspektive ........................................................... 108

3.5 Farben und Farbverläufe erstellen  .................................................. 110Tintenfass- und Farbeimerwerkzeug ................................................ 110Pipette ............................................................................................ 111Farbverläufe .................................................................................... 112Bitmap-Füllung ............................................................................... 113Farbverlaufwerkzeug ....................................................................... 114

3.6 Hilfswerkzeuge  ............................................................................... 115Skalierung mit dem 9-teiligen Segmentraster ................................... 115Objekte gruppieren und anordnen .................................................. 117Handwerkzeug ................................................................................ 118Zoomwerkzeug ............................................................................... 119Lineale ............................................................................................ 119Hilfslinien ....................................................................................... 120Raster ............................................................................................. 122

6

Inhalt

4 Symbole, Instanzen und die Bibliothek

4.1 Symbole  ......................................................................................... 123

4.2 Symbole erstellen  ........................................................................... 124

4.3 Symbolinstanzen  ............................................................................ 126

4.4 Schaltflächen  .................................................................................. 132

4.5 Bibliothek  ...................................................................................... 137Bibliothekselemente löschen ........................................................... 137Ordnung und Struktur in der Bibliothek .......................................... 138

4.6 Gemeinsame Nutzung von Bibliothekselementen  .......................... 141Gemeinsam genutzte Bibliothek zur Laufzeit (Runtime Shared Library) ................................................................. 142Gemeinsam genutzte Symbole zur Authoring-Zeit (Flash-Projekt) .... 146Gemeinsam genutzte Bibliothek zur Authoring-Zeit (SWC) .............. 150Fazit ................................................................................................ 151

5 Animation

5.1 Zeitleiste  ........................................................................................ 153Ebenenmodell ................................................................................. 154Mit Ebenen arbeiten ....................................................................... 154Bilder und Schlüsselbilder auf der Zeitleiste ..................................... 159Darstellungsoptionen der Zeitleiste ................................................. 162Zeitleiste steuern ............................................................................ 163Szenen und Bildbezeichner ............................................................. 163

5.2 Bild-für-Bild-Animation  .................................................................. 166

5.3 Zwiebelschaleneffekt  ..................................................................... 176

5.4 Tweens  ........................................................................................... 178Bewegungs-Tween erstellen ............................................................. 179Eigenschaften animieren ................................................................. 179Pfad eines Bewegungs-Tween .......................................................... 184Bewegungs-Editor ........................................................................... 190Bewegungsvoreinstellungen ............................................................ 202Animation kopieren und einfügen ................................................... 203

5.5 Klassische Tweens  .......................................................................... 204Klassische Tweens an Pfad ausrichten .............................................. 205Timing ............................................................................................ 209

5.6 Weitere Eigenschaften animieren  ................................................... 216

7

Inhalt

5.7 Form-Tweens  .................................................................................. 220Bitmaps in Vektoren umwandeln ..................................................... 220Formmarken einsetzen .................................................................... 223

5.8 Masken  .......................................................................................... 225

5.9 Verschachtelung  ............................................................................. 231

5.10 Inverse Kinematik  .......................................................................... 237Bone-Werkzeug .............................................................................. 239Bindungswerkzeug .......................................................................... 248Steuerungspunkte ausrichten .......................................................... 250

6 Text

6.1 Klassische Texterstellung in Flash  .................................................. 251Textbreite anpassen ......................................................................... 253Text transformieren ......................................................................... 253

6.2 Textfeld-Eigenschaften  ................................................................... 255Textfeld-Typen ................................................................................. 255Text formatieren .............................................................................. 256Schriftart, -größe und -farbe ............................................................ 256Auszeichnungen .............................................................................. 258Ausrichtung .................................................................................... 260Zeilenabstand, Zeilenlänge und Zeichenabstand .............................. 261Textrichtung .................................................................................... 263Text mit URL verknüpfen ................................................................. 264Auswählbarer Text ........................................................................... 265

6.3 Darstellung von Schrift  .................................................................. 266Geräteschriftarten ........................................................................... 267Maskierung von Geräteschriftarten .................................................. 268Eingebettete Schriften ..................................................................... 272Bitmap-Text ..................................................................................... 273Text als Grafik einfügen ................................................................... 274Pixelfonts ........................................................................................ 275Fehlende Schriften ersetzen ............................................................ 278

6.4 TLF-Texterstellung in Flash  ............................................................. 279TLF-Textfeld-Eigenschaften .............................................................. 280TLF-Textfeld formatieren ................................................................. 280TLF-Textfeld-Eigenschaften »Erweitert – Zeichen« ............................ 282TLF-Textfeld-Eigenschaften »Absatz« ............................................... 286TLF-Textfeld-Eigenschaften »Container und Fluss« ........................... 288

8

Inhalt

7 Veröffentlichung

7.1 Veröffentlichungseinstellungen  ...................................................... 293Flash-Export (SWF) ........................................................................ 294HTML-Wrapper ............................................................................... 301GIF-Export ...................................................................................... 306JPEG-Export .................................................................................... 308PNG-Export .................................................................................... 308

7.2 Einbettung in HTML mit dem SWFObject  ..................................... 309Express Install ................................................................................. 312FlashVars ........................................................................................ 313Parameter ....................................................................................... 318

7.3 Ladeverhalten von Flash-Filmen  ..................................................... 322

7.4 Export  ............................................................................................ 325Symbole und Animationen als Bitmap exportieren .............................. 325Film als Bitmap exportieren ............................................................. 328

7.5 Eingabehilfen  ................................................................................. 330Fenster »Eingabehilfen« .................................................................. 330Eingabehilfe für Symbole ................................................................. 331

7.6 FLA-Datei als XFL-Datei speichern  ................................................. 332Speichern als XFL-Dokument .......................................................... 332Aktualisieren von Grafikmaterial ...................................................... 333

TEIL III ActionScript

8 ActionScript-Grundlagen

8.1 ActionScript-Versionen  ................................................................... 337

8.2 ActionScript-Editor  ........................................................................ 339Skripthilfe und Experten-Modus ...................................................... 340Codefragmente ............................................................................... 341Funktionen des ActionScript-Editors ................................................ 342

8.3 Mein erstes Skript  .......................................................................... 346

8.4 Variablen  ........................................................................................ 346

8.5 Datentypen  .................................................................................... 348Strikte Typisierung und lose Typisierung ........................................... 349Datentypen umwandeln .................................................................. 351Geltungsbereich .............................................................................. 353

9

Inhalt

8.6 Arrays  ............................................................................................. 354Indizierte Arrays .............................................................................. 354Assoziative Arrays ........................................................................... 355Mehrdimensionale Arrays ................................................................ 355Arrays sortieren ............................................................................... 357Typisiertes Array: Vektor .................................................................. 359

8.7 Einfache Operatoren  ...................................................................... 360Arithmetische Operatoren ............................................................... 360Vergleichsoperatoren und Fallunterscheidung .................................. 361Logische Operatoren ....................................................................... 364

8.8 Bitweise Operatoren  ...................................................................... 365

8.9 Schleifen  ........................................................................................ 368while-Schleife ................................................................................. 368do-while-Schleife ............................................................................ 370for-Schleife ..................................................................................... 370for-in-Schleife ................................................................................. 371for-each-in-Schleife ......................................................................... 372

8.10 Funktionen  ..................................................................................... 373

8.11 Steuerung von Zeitleisten  .............................................................. 376

8.12 Anzeigeliste  .................................................................................... 378Anzeigeklassen ................................................................................ 378Anzeigeobjekte referenzieren .......................................................... 382Anzeigeobjekte hinzufügen und entfernen ...................................... 383Anzeigeobjekte aus dem Speicher entfernen ................................... 385Reihenfolge in der Anzeigeliste ändern ............................................ 386Struktur einer Anzeigeliste .............................................................. 386Instanzen aus der Bibliothek erzeugen ............................................. 387

8.13 Ereignisse  ....................................................................................... 389Ereignisse, Ereignis-Listener und Ereignisprozeduren ......................................................................... 390target und currentTarget .................................................................. 390Ereignis-Listener entfernen .............................................................. 392Häufig verwendete Ereignisse mit Anzeigeobjekten ....................................................................... 394

8.14 Loader  ............................................................................................ 396

8.15 Fehlersuche  .................................................................................... 403Anwendung .................................................................................... 404Haltepunkte .................................................................................... 405Debug-Konsole ............................................................................... 405

10

Inhalt

Remote-Debug ............................................................................... 406Debugging mit MonsterDebugger ................................................... 407Häufige Fehlerursachen ................................................................... 410

9 Animation mit ActionScript

9.1 Eigenschaften von Anzeigeobjekten  ............................................... 413

9.2 Bildrate  .......................................................................................... 414Die Bildrate ist nicht konstant ......................................................... 415Die Bildrate ist unabhängig von der Zeitleiste .................................. 415

9.3 Ereignisse  ....................................................................................... 415ENTER_FRAME ............................................................................... 415MOUSE_MOVE ............................................................................... 418

9.4 Timer  .............................................................................................. 420

9.5 Geschwindigkeit und Beschleunigung  ........................................... 422

9.6 Easing  ............................................................................................ 423Bewegung ....................................................................................... 424Weitere Instanzeigenschaften animieren .......................................... 426Animation beenden oder loopen ..................................................... 427

9.7 Trigonometrie  ................................................................................. 430Koordinatensystem ......................................................................... 430Winkelangabe ................................................................................. 430Grad- und Bogenmaß – Umrechnung .............................................. 431Das rechtwinklige Dreieck ............................................................... 432Schwingende Bewegung ................................................................. 433Kreisbewegung ............................................................................... 441Winkel zwischen zwei Punkten berechnen ...................................... 443

9.8 Tween-Engines  ............................................................................... 448Adobes Tween-Klasse ...................................................................... 448Tween-Engines ................................................................................ 448TweenLite ....................................................................................... 449TweenLite-Plugins ........................................................................... 458

10 Einführung in die objektorientierte Programmierung

10.1 Warum OOP?  ................................................................................. 467

10.2 Die Welt der Objekte  ..................................................................... 468

11

Inhalt

10.3 Klassen und Objekte  ...................................................................... 470Klassenbezeichner und Dateiname .................................................. 471Klassendefinition und Konstruktor .................................................. 471Objekt initialisieren ......................................................................... 472

10.4 Eigenschaften  ................................................................................. 474

10.5 Methoden  ...................................................................................... 475

10.6 Paket- und Klassenpfad  .................................................................. 476Pakete und Klassen importieren ...................................................... 477Eigene Pakete und Klassenpfade ...................................................... 479

10.7 Objektorientierte Projekte mit dem Projekt-Fenster verwalten  ..... 480

10.8 Sichtbarkeit  .................................................................................... 483

10.9 Instanz- und Klassenmitglieder  ...................................................... 485

10.10 Dokumentklasse  ............................................................................ 488

10.11 Symbole als Klasse  ......................................................................... 490

10.12 Getter-/Setter-Methoden  ............................................................... 496Syntax der Getter-Methode ............................................................. 496Syntax der Setter-Methode ............................................................. 497

10.13 Vererbung  ...................................................................................... 498Methoden und Eigenschaften der Superklasse ansteuern ................. 500Methoden und Eigenschaften einer Basisklasse überschreiben ......... 500

11 Zeichnungs-API

11.1 Graphics-Klasse  .............................................................................. 503

11.2 Anzeigeobjekt erstellen  .................................................................. 503Linien zeichnen ............................................................................... 504Bitmap-Linien zeichnen ................................................................... 509Kurven zeichnen ............................................................................. 510Füllungen erzeugen ......................................................................... 512Rechteck zeichnen .......................................................................... 512Rechteck mit abgerundeten Ecken zeichnen .................................... 518Kreis zeichnen ................................................................................. 518Ellipse zeichnen .............................................................................. 519Farbverlaufslinien und -füllungen erzeugen ..................................... 519

12

Inhalt

12 Komponenten

12.1 Einführung  ..................................................................................... 523

12.2 Anwendung  .................................................................................... 524Komponenten in der Entwicklungsumgebung ................................. 524Komponenten mit ActionScript erzeugen ........................................ 526Komponenten über ActionScript ansteuern ..................................... 527Eigenschaften .................................................................................. 528Methoden ....................................................................................... 528Ereignisse ........................................................................................ 529

12.3 Erscheinungsbild anpassen  ............................................................ 536

12.4 Stile  ................................................................................................ 537Komponenteninstanzen anpassen ................................................... 537Komponententyp anpassen ............................................................. 537

12.5 Skins  .............................................................................................. 538Skin eines Komponententyps anpassen ........................................... 539Skin einer Komponenteninstanz anpassen ....................................... 540

TEIL IV Multimedia und dynamische Inhalte

13 Bitmaps

13.1 Bitmap-Import  ............................................................................... 545

13.2 Photoshop-Import  ......................................................................... 548Bildebenen ..................................................................................... 549Textebenen ..................................................................................... 550

13.3 Illustrator-Import  ........................................................................... 551Bildebenen ..................................................................................... 553Textebenen ..................................................................................... 553Pfade .............................................................................................. 554

13.4 FXG  ................................................................................................ 554

13.5 Mischmodi und Filter  ..................................................................... 555Bitmap-Filter anwenden .................................................................. 557Bitmap-Filter animieren .................................................................. 558

13.6 Anzeigeoptionen und Performance  ................................................ 559

13.7 Mischmodi und Bitmap-Filter mit ActionScript  .............................. 561Mischmodi ...................................................................................... 561Bitmap-Filter ................................................................................... 562

13

Inhalt

13.8 Bitmaps mit ActionScript  ............................................................... 565Bitmap-Klasse ................................................................................. 565BitmapData-Klasse .......................................................................... 566Pixel einer Bitmap auslesen und setzen ........................................... 567

14 Sound

14.1 Hintergrundwissen  ......................................................................... 573

14.2 Import und Veröffentlichung  .......................................................... 575Veröffentlichungseinstellungen ........................................................ 575Tipps für den Import ....................................................................... 578

14.3 Sound in der Zeitleiste  ................................................................... 579Soundtypen .................................................................................... 579Soundeffekte .................................................................................. 581

14.4 Sounds mit ActionScript  ................................................................ 585Sound-Klasse .................................................................................. 585Sound laden .................................................................................... 587Sound abspielen ............................................................................. 589Sound-Streaming steuern ................................................................ 590Sound pausieren ............................................................................. 594Soundlautstärke .............................................................................. 596

14.5 Soundspektrum  .............................................................................. 604

15 Video

15.1 Techniken zur Bereitstellung  .......................................................... 609

15.2 Adobe Media Encoder  .................................................................... 611Video-Format .................................................................................. 611Kodierung ....................................................................................... 613Exporteinstellungen ........................................................................ 614

15.3 Video-Import in Flash  .................................................................... 622Video-Playback-Komponente .......................................................... 623FLV in Zeitleiste integrieren und abspielen ...................................... 624

15.4 Video-Anwendung  ......................................................................... 625Eingebettete Videos ........................................................................ 625Externe Videos ................................................................................ 627Vollbild-Modus ............................................................................... 631Audio-Spur eines Videos steuern ..................................................... 632Eigenschaften der NetStream-Klasse ............................................... 634Cue-Points ...................................................................................... 636

14

Inhalt

16 Dynamischer Text

16.1 Klassischer Text oder TLF-Text?  ...................................................... 647

16.2 Dynamische Textfelder und Eingabetextfelder  ............................... 650Textfeld-Einstellungen ..................................................................... 651Zeicheneinbettung .......................................................................... 652

16.3 Text zuweisen und abfragen  ........................................................... 654Tabulator-Reihenfolge ..................................................................... 661Eingabefokus .................................................................................. 662

16.4 Textdokument laden und ausgeben  ............................................... 664Zeichenkodierung ........................................................................... 664Textdokumente laden ...................................................................... 665

16.5 Textfelder mit ActionScript steuern  ................................................ 670Textfeld-Eigenschaften .................................................................... 670TextFormat ...................................................................................... 673Schriftart-Symbol und Schriftart-Klasse ............................................ 676Textfeld-Methoden ......................................................................... 679

16.6 Textscroller – die UIScrollBarKomponente  ..................................... 680Textbereich definieren ..................................................................... 680Bildlauf aktivieren ........................................................................... 681UIScrollBar-Komponente einfügen .................................................. 681Ziel der Scroller-Komponente festlegen ........................................... 682

16.7 Text Layout Framework  .................................................................. 682Text Layout Framework und MVC Design Pattern .............................. 683Hierarchische Struktur ..................................................................... 684TextLayoutFormat ........................................................................... 685ParagraphElement ........................................................................... 690SpanElement ................................................................................... 690Textcontainer .................................................................................. 691Mehrspaltiger Text .......................................................................... 692

17 Flash, PHP und MySQL

17.1 PHP  ................................................................................................ 697Voraussetzungen ............................................................................. 698Lokaler Webserver .......................................................................... 699Sprachelemente und Syntax ............................................................ 702Datums- und Zeitfunktion ............................................................... 706Daten in Flash empfangen ............................................................... 707Daten von Flash an PHP senden und wieder empfangen ................. 715

15

Inhalt

Ein Kontaktformular erstellen .......................................................... 720Sicherheit ....................................................................................... 728PHP-Skripte testen und Fehlermeldungen ....................................... 731

17.2 MySQL  ........................................................................................... 732phpMyAdmin .................................................................................. 734Datenbank erstellen ........................................................................ 734Datenbanktabelle erstellen .............................................................. 735Datentypen ..................................................................................... 736Felder bearbeiten, löschen und hinzufügen ..................................... 738Datensätze einfügen ....................................................................... 739Tabellen exportieren ........................................................................ 739Tabellen importieren ....................................................................... 741

17.3 PHP und MySQL im Team  .............................................................. 742Datenbank-Login ............................................................................ 742Datenbankverbindung herstellen ..................................................... 743Daten an Flash übergeben ............................................................... 745Datenbanksätze einfügen ................................................................ 752Sicherheit ....................................................................................... 755Datensätze aktualisieren .................................................................. 758

18 XML

18.1 XML definieren  .............................................................................. 759

18.2 XML-Dokument laden  .................................................................... 761Wohlgeformtheit ............................................................................ 763Kommentare ................................................................................... 763Anzahl von Elementen .................................................................... 764Daten filtern ................................................................................... 765

18.3 Formatierungen in XML  ................................................................. 771

18.4 XML bearbeiten  ............................................................................. 773Elementwerte ändern ...................................................................... 774Elemente hinzufügen ...................................................................... 774Elemente entfernen ........................................................................ 776

18.5 XML sortieren  ................................................................................ 777XML nach Knoten sortieren ............................................................. 778XML nach Attribut sortieren ............................................................ 779

18.6 XML speichern  ............................................................................... 781

16

Inhalt

19 FileReference

19.1 Öffnen und Speichern  .................................................................... 789

19.2 Download  ...................................................................................... 793

19.3 Upload  ........................................................................................... 797Methoden ....................................................................................... 799Ereignis-Listener ............................................................................. 800Eigenschaften .................................................................................. 803Dateiendungen überprüfen ............................................................. 803Upload – FAQ ................................................................................. 810

TEIL V Weitere Einsatzgebiete

20 Spieleprogrammierung

20.1 Interaktion  ..................................................................................... 819Tastatursteuerung ............................................................................ 819Maussteuerung ............................................................................... 820

20.2 Kollisionserkennung  ....................................................................... 823Einfache Kollisionserkennung mit hitTestObject und hitTestPoint ..... 823Pixelbasierte Kollisionserkennung .................................................... 825Positionsbasierte Kollisionserkennung ............................................. 831

20.3 Zeit  ................................................................................................. 834

20.4 Daten lokal speichern mit einem SharedObject  .............................. 835

20.5 Asteroids-Spiel  ............................................................................... 839Startbildschirm ................................................................................ 840Soundobjekte initialisieren .............................................................. 841Spielvariablen initialisieren .............................................................. 841Raumschiffsteuerung ....................................................................... 842Feuer frei ........................................................................................ 843Asteroiden erzeugen ....................................................................... 845Bewegung und Kollisionserkennung der Asteroiden ......................... 846Schwierigkeitsgrad erhöhen ............................................................. 849Schussenergie aufladen ................................................................... 849Lebenspunkte erzeugen .................................................................. 850SlowMotion-Punkte erzeugen ......................................................... 852Spiel beenden ................................................................................. 853

17

Inhalt

20.6 Highscore  ....................................................................................... 855Highscore laden .............................................................................. 855Highscore aktualisieren und speichern ............................................. 856Highscore darstellen ........................................................................ 859Spiel neu starten ............................................................................. 860

20.7 Highscore-Sicherheit  ...................................................................... 861Hashfunktion verwenden ................................................................ 862Zeitpunkte in einem Array speichern ............................................... 862Hashwerte erzeugen ....................................................................... 864Analyse der Verschleierungstechnik ................................................. 866Weitere Betrugsmöglichkeiten ......................................................... 868

20.8 Mehr zum Thema Spieleentwicklung  ............................................. 869Mit Flash-Browser-Spielen Geld verdienen ...................................... 869Werkzeuge für die professionelle Spieleentwicklung ........................ 869

21 AIR: Für mobile Geräte und den Desktop veröffentlichen

21.1 Wie funktioniert AIR?  .................................................................... 871Historie von AIR .............................................................................. 872Mit eingebetteter Laufzeitumgebung ohne AIR-Abhängigkeit veröffentlichen .................................................... 873

21.2 Desktop-Anwendungen entwickeln  ............................................... 874

21.3 Mobile Anwendungen entwickeln  ................................................. 875Mobile Content Simulator ............................................................... 875Native Extensions ........................................................................... 875Debugging ...................................................................................... 876

21.4 »Hello World«-iPhone-App mit AIR entwickeln  .............................. 877Vorbereitung zum Testen auf dem Gerät .......................................... 880Veröffentlichen für das iPhone ........................................................ 888ActionScript API .............................................................................. 893Einschränkungen und Richtlinien ..................................................... 895

22 Von Flash nach HTML5 exportieren

22.1 CreateJS  ......................................................................................... 899

22.2 Einschränkungen von CreateJS  ....................................................... 900

22.3 Installation des Toolkit for CreateJS  ............................................... 901

22.4 Das Toolkit for CreateJS anwenden  ................................................ 902

18

Inhalt

22.5 Eine HTML5-Website mit Flash entwickeln  ................................... 903

22.6 Fazit  ............................................................................................... 908

23 Ein Blick über den Tellerrand

23.1 ActionScript-Entwicklungs umgebungen  ........................................ 911FlashDevelop .................................................................................. 911Flash Development Tools (FDT) ....................................................... 914Flash Builder und Flash Professional optimal nutzen ........................ 917

23.2 Hochperformante 2D- und 3D-Anwendungen entwickeln  ............. 926Mit Stage3D flüssige 2D-Spiele entwickeln ...................................... 9273D-Animationen und -Spiele .......................................................... 927

23.3 Ausgelaufene Technologien  ............................................................ 929Adobe Flex ..................................................................................... 929Adobe Flash Catalyst ....................................................................... 931Weitere veraltete Technologien ....................................................... 934

23.4 Bildschirmschoner  .......................................................................... 934

Die DVD zum Buch ................................................................................... 937Index ........................................................................................................ 939

19

Workshops

Workshops

Zeichnen � Farben einer umgewandelten Bitmap-Grafik austauschen .......................... 102

Symbole, Instanzen und die Bibliothek � Instanzeigenschaften ändern ..................................................................... 127 � Eine Schaltfläche erstellen ......................................................................... 133

Animation � Die Animation anlegen ............................................................................. 167 � Animation in MovieClip verschachteln ...................................................... 172 � Geschwindigkeit ändern ............................................................................ 174 � Ein Bewegungs-Tweening erstellen ............................................................ 181 � Eine Animation entlang eines Pfades erstellen ........................................... 187 � Den Bewegungs-Editor einsetzen .............................................................. 195 � Beschleunigung im Bewegungs-Editor nutzen ........................................... 199 � Klassisches Tween an Pfad ausrichten ........................................................ 206 � Klassisches Tween mit Beschleunigung und Abbremsung ........................... 210 � Ein fahrendes Motorrad mit einem beschleunigten klassischen Tween ....... 213 � Ein springender Ball mit beschleunigtem klassischem Tween ..................... 215 � Bitmap in Vektoren umwandeln ................................................................ 221 � Formmarken für einen Form-Tween einsetzen ........................................... 223 � Verlaufsmaske erstellen ............................................................................. 227 � Verschachtelung in einer Galerie mit Maskeneffekt .................................... 231 � Charakteranimation mit inverser Kinematik ............................................... 243

Text � Maskierung von Geräteschriften ................................................................ 268 � Textfelder miteinander verbinden .............................................................. 289

Veröffentlichung � FlashVars einsetzen ................................................................................... 315

ActionScript-Grundlagen � Navigation mit externen Flash-Filmen ....................................................... 399 � Remote-Debugging mit dem »MonsterDebugger« .................................... 407

20

Workshops

Animation mit ActionScript � Animation mit Event.ENTER_FRAME-Ereignis ........................................... 417 � Animation mit MouseEvent.MOUSE_MOVE-Ereignis ................................ 419 � Bewegung mit Easing ................................................................................ 425 � FadeOut mit Easing ................................................................................... 426 � Animation beenden .................................................................................. 428 � Fading-Animation loopen .......................................................................... 429 � Schwingende Bewegung auf der x-Achse ................................................... 434 � Schwingende Bewegung auf der y-Achse ................................................... 436 � 3D-Bewegung und Tiefenänderung ........................................................... 438 � Kreis- und ellipsenförmige Bewegung ....................................................... 441 � Spiralenförmige Bewegung ........................................................................ 442 � MovieClip in Mausrichtung drehen ........................................................... 444 � MovieClip in Mausrichtung bewegen ........................................................ 445 � 3D-Flip mit TweenLite .............................................................................. 455 � Schneeflockensimulation mit TweenLite .................................................... 463

Einführung in die objektorientierte Programmierung � Klasse und Objekt erstellen ....................................................................... 473 � Eine analoge Uhr erstellen ......................................................................... 491

Zeichnungs-API � Interaktive Linie zeichnen ......................................................................... 507 � Interaktive Kurve zeichnen ........................................................................ 510 � Interaktives Zeichnen von Rechtecken ....................................................... 513

Komponenten � Gallery mit Slideshow-Funktion mithilfe von Komponenten ...................... 529

Bitmaps � Bitmap-Filter mit ActionScript steuern ...................................................... 563 � Farbwerte einer Bitmap auslesen ............................................................... 567 � Kreispunkt-Muster mit setPixel erzeugen .................................................. 570

Sound � Eine Schaltfläche mit Sounds versehen ...................................................... 580 � Einen Streaming-Sound ein- und ausblenden ............................................ 583 � Mehrere Sounds zuweisen, abspielen und stoppen ................................... 592 � Sound pausieren und abspielen ................................................................. 595 � Soundlautstärke über einen Slider steuern ................................................. 597 � Das Soundspektrum eines abspielenden Sounds auslesen und grafisch darstellen ................................................................ 605

21

Workshops

Video � Ein eingebettetes Video über die Zeitleiste steuern ................................... 625 � Ein Video über ActionScript abspielen und steuern ................................... 629 � Ereignis-Cue-Points einsetzen ................................................................... 638 � Navigation-Cue-Points einsetzen ............................................................... 642

Dynamischer Text � Texteingabe abfragen und ausgeben .......................................................... 658 � FocusEvent.FOCUS_IN und FocusEvent.FOCUS_OUT zur Hervorhebung von Eingabetextfeldern nutzen ..................................... 662

� Textdokument laden und ausgeben ........................................................... 668 � Mehrspaltigen Text über ActionScript mithilfe des Text Layout Frameworks erzeugen ...................................................... 692

Flash, PHP und MySQL � Serverseitiges Datum und Zeit in Flash ausgeben ....................................... 712 � Kontaktformular – Eingabe überprüfen und zurücksetzen .......................... 720 � Kontaktformular – Kontaktdaten an ein PHP-Skript senden ....................... 724 � Kontaktformular – PHP-Skript für den Mailversand erstellen ...................... 726 � Kontaktformular – PHP-Skript mit Sicherheits funktionen versehen ............ 730 � Gästebuch – Datensätze auslesen und in Flash darstellen .......................... 748 � Gästebuch – Daten von Flash an PHP übergeben und Datensätze erstellen ........................................................................... 753

� Gästebuch – SQL-Injections verhindern ..................................................... 757

XML � RSS-Feed einlesen und Daten des Feeds in Flash darstellen ....................... 766 � RSS-Feed serverseitig einlesen und an den Flash-Film übergeben .............. 769 � HTML-Formatierungen in XML-Knoten integrieren .................................... 772 � XML-Dokument laden, ändern und mittels eines serverseitigen Skripts wieder speichern ..................................................... 781

FileReference � Ein Textdokument in den Flash Player laden und ausgeben ....................... 790 � Daten lokal abspeichern ............................................................................ 792 � Download via FileReference-Klasse mit Fortschrittsbalken ......................... 795 � Die Upload-Methode nutzen und Dateien client seitig auf ihre Dateiendungen hin überprüfen ................................................................. 804

� Den Fortschritt des Upload-Vorgangs anzeigen .......................................... 808 � Upload: Dateiendung serverseitig überprüfen ............................................ 809

22

Workshops

Spieleprogrammierung � Kollisionserkennung mit Randbereichen und Bouncing ............................... 833 � Spielername lokal speichern und lesen ...................................................... 838

AIR: Für mobile Geräte und den Desktop veröffentlichen � »HelloWorld« mit dem mobilen Simulator ................................................ 877 � Zertifizierungsprozess unter Mac OS X durchführen .................................. 881 � Zertifizierungsprozess unter Windows durchführen ................................... 883

Von Flash nach HTML5 exportieren � HTML5-Website mit CreateJS entwickeln .................................................. 904

Ein Blick über den Tellerrand � Optimalen Workflow einrichten ................................................................ 918

153

Kapitel 5 Animation

Kapitel 5

Animation Animationen sind seit der ersten Flash­Version bis heute eine der größten Stärken von Flash. In diesem Kapitel lernen Sie die Grundlagen, um Animationen in Flash zu erstellen und zu steuern. Sie lernen die unterschiedlichen Animationstechniken kennen und erfahren, wie Sie selbst Instanzeigenschaften wie z. B. Position, Ska­lierung, Transparenz und Farbe animieren können.

5.1 Zeitleiste

Bevor es darum geht, die verschiedenen Animationsmöglichkei-ten, die in Flash zur Verfügung stehen, zu erläutern, sollten Sie sich mit der Zeitleiste näher vertraut machen. Der richtige Um-gang mit der Zeitleiste ist zum Erstellen von Animationen eine Grundvoraussetzung.

Die Zeitleiste ist das Mittel, um den zeitlichen Ablauf eines Flash-Films zu steuern. Vergleicht man einen Flash-Film mit einem echten Film, würde die Zeitleiste der Filmrolle entspre-chen, auf der die Einzelbilder eines Films in bestimmten Abstän-den in einer bestimmten Reihenfolge hintereinanderliegen. Ein Abspielgerät zeigt die Einzelbilder des Films in einer bestimmten Geschwindigkeit (bei Kino-/Fernsehfilmen üblicherweise 24 Bil-der pro Sekunde) an.

[Animation]Animation ist die Veränderung ei-ner Objekteigenschaft über einen gewissen Zeitraum. Es gibt zwei wesentliche Faktoren, die eine Animation beeinflussen: die sich ändernde Eigenschaft (wie z. B. die Position, Farbe oder die Größe) und die Zeit.

F Abbildung 5.1Die Zeitleiste

a

b

c

154

Kapitel 5 Animation

Auf der linken Seite der Zeitleiste werden Ebenen 1 und auf der rechten Seite die Bilder der Zeitleiste 3 dargestellt. Das rote Rechteck 2 zeigt die aktuelle Position des Abspielkopfes in der Entwicklungsumgebung an.

Ebenenmodell

Ebenen sind vergleichbar mit transparenten Folien. Auf der trans-parenten Fläche einer Folie lassen sich verschiedene Elemente anlegen. Die Folien werden dann in einer bestimmten Reihen-folge, der Ebenenreihenfolge, übereinandergelegt und ergeben so ein Gesamtbild.

+ =

+ =

Ebene 1

Ebene 1

Ebene 2

Ebene 2

Ebene 3Ebene 4

Ausgabe

Ebene 1 Ebene 2 Ausgabe

+ =

Ebene 1 Ebene 2 Ausgabe

G Abbildung 5.2 Funktionsweise von Ebenen auf einen Blick

Jeder Flash-Film kann beliebig viele Ebenen besitzen – mithilfe von Ebenen können Sie die Bestandteile eines Flash-Films hie-rarchisch anordnen, inhaltsbezogen verteilen und strukturieren.

Mit Ebenen arbeiten

Nachdem ein neuer Flash-Film erstellt wurde, gibt es zunächst nur eine einzige Ebene mit dem Namen »Ebene 1«. Um eine neue Ebene anzulegen, klicken Sie in der Zeitleiste auf Ebene einfü-gen 1.

AbspielrichtungDer Abspielkopf bewegt sich beim Abspielen der Zeitleiste von links nach rechts, um die einzelnen Bil-der der Zeitleiste und deren Inhalt darzustellen.

Ebenen und Animation

Grundsätzlich gilt, dass Objekte, die animiert werden, auf einer eigenen Ebene platziert werden müssen – es sollten also keine anderen Elemente auf der Ebene platziert werden, da es sonst zu Fehlern kommt. Die Ausnahmen dieser Regel sind Bild-für-Bild-Animationen und geskriptete Animationen, bei denen auch mehrere Elemente auf einer Ebene platziert wer-den können.

155

5.1 Zeitleiste

Sie sollten Ebenen möglichst eindeutige Namen zuweisen, damit Sie später einen Hinweis darauf haben, was sich auf den entspre-chenden Ebenen befindet. Klicken Sie dazu auf den Ebenenna-men 2. Anschließend können Sie einen neuen Namen eingeben.

Flash-Filme mit vielen Objekten und Animationen können sehr viele Ebenen beinhalten. Je mehr Ebenen der Flash-Film hat, desto wichtiger ist es, sich die Zeit zu nehmen, Ebenen zu benen-nen – die Übersicht geht sonst schnell verloren.

Um eine Ebene zu löschen , wählen Sie diese aus und klicken dann auf das Papierkorb-Symbol löschen 3.

Ebenenreihenfolge | Über die Ebenenreihenfolge legen Sie fest, welche Objekte im Vordergrund und welche im Hintergrund lie-gen sollen.

Ein möglicher Ebenenaufbau einer Webseite könnte so aus-sehen:

F Abbildung 5.3Eine neue Ebene wurde eingefügt.a

F Abbildung 5.4Ebenennamen ändern

b

F Abbildung 5.5Ein Negativbeispiel – wo ist was? Das Rätseln beginnt.

c

ReihenfolgeObjekte auf der obersten Ebene überlagern alle Objekte, die auf Ebenen darunter liegen.

156

Kapitel 5 Animation

� Unten: eine Ebene mit Hintergrundelementen (Grafiken, Fens-ter für Textbereiche etc.)

� Im mittleren Bereich: Ebenen mit Hauptinhalten der Webseite (Texte, Grafiken, Logo etc.)

� Oben: eine Ebene mit Bildbezeichnern und Aktionen (Diese Ebenen haben keinen sichtbaren Inhalt – sie dienen zur Steu-erung und Strukturierung des Flash-Films. Üblicherweise wer-den sie ganz oben positioniert.)

Natürlich können Sie die Ebenenreihenfolge auch jederzeit än-dern. Wählen Sie dazu die Ebene via Mausklick aus 2, halten Sie die Maustaste gedrückt, und verschieben Sie die Ebene auf die gewünschte Position. Eine Linie 1 zeigt die neue Position der Ebene während des Vorgangs an.

Ebenenordner | Ebenen lassen sich mithilfe von ein- und aus-klappbaren Ebenenordnern strukturieren. So können Sie mit Ebenenordnern Ebenen z. B. nach ihrem Inhalt sortieren und strukturieren. Es wäre beispielsweise sinnvoll, Ebenen mit Navi-gationselementen in einen Ebenenordner Navigation zu platzie-ren. Das lohnt sich meist aber erst, wenn Sie insgesamt mehr als 15 Ebenen haben und sonst in der Zeitleiste oft scrollen müssten, um alle Ebenen im Blick zu behalten.

Um einen Ebenenordner anzulegen, klicken Sie in der Zeit-leiste auf Neuen Ordner 3.

Nachdem der Ordner angelegt wurde, sollten Sie ihm via Mausklick auf den Ordnernamen einen eindeutigen Namen zuweisen.

Strukturierung Am Anfang fällt es nicht immer leicht, eine gute Struktur für ei-nen Flash-Film zu finden. Je mehr Sie mit Flash arbeiten, desto ein-facher wird Ihnen das mit der Zeit fallen, da Sie fast wie von selbst lernen, bestimmte Inhalte nach bestimmten Schemata zu struktu-rieren.

Abbildung 5.6 E

Klassische Ebenenstruktur einer Webseite

Ebenen auswählen

Halten Sie bei der Auswahl statt (ª) die (Strg)-Taste gedrückt, um eine Mehrfachauswahl von Ebenen vorzunehmen, die nicht hintereinanderliegen.

Abbildung 5.7 E

Die Ebene Vordergrund wird nach oben verschoben.

a b

Ebenenordner steuern Die Steuerungsfunktionen, die im folgenden Abschnitt erläutert werden, können auch auf Ebe-nenordner angewendet werden. So ist es z. B. möglich, alle Ebenen eines Ordners gleichzeitig auszu-blenden oder zu sperren.

157

5.1 Zeitleiste

Anschließend wählen Sie alle Ebenen aus, die Sie in den Ordner verschieben möchten. Wenn diese Ebenen hintereinanderliegen, wählen Sie erst die unterste oder oberste Ebene aus, halten (ª) gedrückt und wählen dann die oberste oder unterste Ebene aus. Alle Ebenen dazwischen werden automatisch ausgewählt. Klicken Sie dann auf eine ausgewählte Ebene, halten Sie die Maustaste gedrückt, und ziehen Sie die Ebenen in den Ordner.

G Abbildung 5.8Links: Ein neuer Ebenenordner wurde angelegt. Rechts: Die aus-gewählten Ebenen werden in den Ordner verschoben.

Sie können jetzt auf einen Blick erkennen, welche Ebenen zur Na-vigation gehören. Ein weiterer Vorteil ist, dass Sie Ebenenordner ein- und ausklappen können, was Platz in der Zeitleiste spart. Sie müssen dann seltener in der Zeitleiste scrollen. Um einen Ebe-nenordner ein- bzw. auszuklappen, klicken Sie einfach auf den Pfeil 4 auf der linken Seite der Ebene.

G Abbildung 5.9Ebenen des Ordners ein-/ausblenden

Ebenen steuern | Sie können Ebenen über drei verschiedene Modi steuern:

� Via Mausklick auf einen der kleinen runden Kreise unter dem Auge 1 (siehe Abbildung 5.11) können Sie Ebenen ein- und ausblenden. Das ist dann besonders hilfreich, wenn sich Be-reiche in der Arbeitsfläche überlagern und Sie zeitweise nur bestimmte Teile des Flash-Films betrachten möchten.

c

Tiefe der Verschiebung

An dem kreisförmigen Abschluss der Vorschaulinie 5 können Sie erkennen, in welcher Tiefe die Ebenen eingesetzt werden.

G Abbildung 5.10Oben: Die Ebenen werden inner-halb des Ebenenordners platziert. Unten: Die Ebenen werden ober-halb des Ebenenordners platziert.

e

d

158

Kapitel 5 Animation

G Abbildung 5.11Die Ebene »Inhalt« ist links aus- und rechts eingeblendet.

� Klicken Sie auf den runden Kreis unterhalb der Spalte mit dem Schloss 2, um eine Ebene zu sperren bzw. zu entsperren. Wenn eine Ebene gesperrt ist, können Elemente auf dieser Ebene nicht mehr ausgewählt werden. Dadurch wird verhin-dert, dass Objekte auf dieser Ebene unbeabsichtigt verschoben oder verändert werden.Ein Schloss-Symbol 5 wird angezeigt, wenn die Ebene ge-sperrt wurde. Wenn Sie die Ebene anwählen, zeigt Ihnen zu-sätzlich ein durchgestrichener Stift 3 an, dass auf dieser Ebene nicht gearbeitet werden kann.

G Abbildung 5.12Die Ebene Vordergrund wurde gesperrt.

� Gelegentlich kommt es vor, dass Objekte aneinander ausge-richtet werden sollen, bestimmte Teile der Objekte sich aber so überlagern, dass der Überblick verloren geht. Via Mausklick auf das Quadrat unter dem rechteckigen Rahmen 4 können Sie die Konturansicht aktivieren bzw. deaktivieren. Es werden dann nur die Konturen der Objekte auf der Ebene dargestellt.

Sie können auch alle Ebenen gleichzeitig steuern. Klicken Sie dazu oberhalb der Ebenen auf eines der Symbole Auge, Schloss oder Rahmen.

a b

Ausgeblendete Ebenen einschließenWenn Sie bestimmte Ebenen aus-blenden, können Sie Flash dazu veranlassen, diese Ebenen bei der Veröffentlichung des Flash-Films zu ignorieren . Diese Option ist nützlich in der Entwurfsphase. Sie finden die entsprechende Option im Menü Datei • Einstellungen für Veröffentlichungen im zweiten Reiter Flash unter Erwei-tert • Ausgeblendete Ebenen Einschliessen. Deaktivieren Sie die Option, um ausgeblendete Ebenen auszuschließen.

43

5

Hinweis Konturen werden ausschließlich bei vektorbasierten Formen ange-zeigt. Bei Bitmaps beispielsweise wird in der Konturansicht statt einer Kontur der Begrenzungsrah-men der Bitmap angezeigt.

159

5.1 Zeitleiste

Bilder und Schlüsselbilder auf der Zeitleiste

Nachdem Sie einen neuen Flash-Film erstellt haben, besitzt der Flash-Film ein einziges Bild. Am Anfang steht Ihnen in Bild 1 der Zeitleiste ein leeres Schlüsselbild zur Verfügung 6. In leeren Schlüsselbildern befindet sich nichts auf der Bühne. Sie können an dieser Stelle Inhalte einfügen, was dazu führt, dass aus dem leeren Schlüsselbild ein Schlüsselbild 7 wird.

G Abbildung 5.14Links: leeres Schlüsselbild; rechts: ein Schlüsselbild

Um den Inhalt eines Schlüsselbilds im weiteren Verlauf der Zeit-leiste unverändert darzustellen, können Bilder 9 (engl. »Frames«) hinter dem Schlüsselbild eingefügt werden. Diese zeigen dann den Inhalt des vorangehenden Schlüsselbilds in unveränderter Form an.

Um weitere Bilder einzufügen, klicken Sie auf das freie Bild in der Zeitleiste, um den Abspielkopf auf dieses Bild zu setzen, und

F Abbildung 5.13Konturansicht und die normale Ansicht im Vergleich

Bilder der Zeitleiste Der Begriff Bild ist nicht eindeu-tig, da er für zweierlei Dinge ver-wendet wird:Einerseits wird üblicherweise von einem Bild der Zeitleiste (oder auch vom Inhalt »an bzw. in Bild X«) gesprochen. Dies bezieht sich auf die Position innerhalb der Zeitleiste.Andererseits gibt es Bilder in der Zeitleiste, die den Inhalt des vor-angehenden Schlüsselbilds dar-stellen. Der Begriff ist derselbe, die Bedeutung aber eine andere.

f 7

160

Kapitel 5 Animation

wählen aus dem Menü Einfügen • Zeitleiste • Bild oder nutzen das Tastenkürzel (F5).

G Abbildung 5.15Ein Schlüsselbild 8 und neun Bilder 9 dahinter

Schlüsselbild einfügen | Wenn sich der Inhalt auf der Bühne verändern soll – sei es durch die Änderung der Position, der Größe etc. des Inhalts oder durch einen neuen Inhalt –, wird dazu ein neues Schlüsselbild auf der Zeitleiste benötigt.

Um ein neues Schlüsselbild zu erstellen, klicken Sie auf das Bild in der Zeitleiste und wählen Einfügen • Zeitleiste • Schlüssel-bild. Wer lieber mit Tastenkürzeln arbeitet, kann sich dafür das Tastenkürzel (F6) merken.

Flash fügt daraufhin ein neues Schlüsselbild k ein – auf der Bühne sehen Sie noch keine Veränderung. Erst wenn Sie auf der Bühne eine Veränderung vornehmen, also z. B. ein weiteres Objekt zeichnen oder das bestehende Objekt verändern, sehen Sie, was passiert: Der Bereich j vor dem neuen Schlüsselbild bleibt unverändert.

Leere Schlüsselbilder | In leeren Schlüsselbildern befindet sich nichts auf der Bühne. Ein leeres Schlüsselbild können Sie über das Menü Einfügen • Zeitleiste • Leeres Schlüsselbild oder über (F7) einfügen.

Schlüsselbild löschen | Um ein Schlüsselbild zu löschen, wählen Sie dieses zunächst aus, öffnen über die rechte Maustaste das Kontextmenü und wählen dann den Menüpunkt Schlüsselbild löschen oder drücken das Tastenkürzel (ª)+(F6).

h i

Schlüsselbilder

In Flash wird für jede Eigen-schaftsänderung eines Objekts, wie z. B. die Änderung der Posi-tion, der Skalierung, des Rotati-onswinkel etc. auf einer soge-nannten Tween-Ebene für diese Eigenschaft ein eigenes Schlüs-selbild erstellt. Näheres dazu erfahren Sie im weiteren Verlauf dieses Kapitels.

G Abbildung 5.16Ein neues Schlüsselbild wurde in Bild 10 angelegt.

j k

Schlüsselbilder verschieben/kopieren

Um ein Schlüsselbild auf der Zeitleiste zu verschieben, wäh-len Sie es zunächst aus, halten die Maustaste gedrückt und be-wegen die Maus, um es auf der Zeitleiste zu verschieben. Wenn Sie dabei (Alt) gedrückt haben, wird eine Kopie des Schlüssel-bilds angelegt.

161

5.1 Zeitleiste

Darstellungsweise | Die Darstellungsweise von Bildern (Inhal-ten), Animationen und Ebenen auf der Zeitleiste zeigen Ihnen auf den ersten Blick bereits, was sich auf dem entsprechenden Bild oder der Ebene befindet bzw. was dort geschieht. Die folgende Übersicht zeigt Ihnen, wie unterschiedliche Bereiche in der Zeit-leiste dargestellt werden.

Bilder der Zeitleiste

G Abbildung 5.17Ein leeres Schlüsselbild ohne Inhalt auf der Bühne

G Abbildung 5.18Ein Schlüsselbild und dahinter neun Bilder

G Abbildung 5.19Ein leeres Schlüsselbild, dem eine Aktion zugewiesen wurde – ein kleines »a« zeigt diese Zuweisung an.

G Abbildung 5.20Die Ebene Labels besitzt zwei Schlüsselbilder, denen Bildbezeichner zugewiesen wurden.

G Abbildung 5.21Eine Tween-Ebene beinhaltet ein Tween mit einer Länge von 20 Bildern.

G Abbildung 5.22Eine Tween-Ebene. In Bild 20 wurde eine Eigen-schaft des Objekts geändert. Dies zeigt das rauten-förmige sogenannte Eigenschaften-Schlüsselbild in Bild 20 an.

G Abbildung 5.23Ein klassisches Bewegungs-Tweening mit zwei Schlüsselbildern und einer Länge von 20 Bildern.

G Abbildung 5.24Ein klassisches Bewegungs-Tweening, das jedoch fehlerhaft ist, da bisher kein zweites Schlüsselbild eingerichtet wurde. Dies wird durch die gestrichelte Linie angezeigt.

G Abbildung 5.25Ein Form-Tween mit einer Länge von 20 Bildern und zwei Schlüsselbildern.

G Abbildung 5.26Eine Maskenebene Maske, die die Ebene Inhalt maskiert.

G Abbildung 5.27Ein Bewegungs-Tweening auf der Ebene Inhalt. Das Tweening orientiert sich an dem Pfad, der auf der Führungsebene Pfad angelegt wurde.

G Abbildung 5.28Eine Posenebene mit zwei Posenbildern

162

Kapitel 5 Animation

Darstellungsoptionen der Zeitleiste

Über das Optionsmenü 1 der Zeitleiste lässt sich die Darstel-lungsweise der Zeitleiste einstellen.

Bei einem Flash-Film mit sehr vielen Ebenen bietet beispielsweise eine kleinere Darstellung der Zeitleiste einen besseren Überblick – unsere persönliche Empfehlung ist, die Ansicht Normal und Reduziert zu aktivieren; Sie können so möglichst viele Ebenen auf kleinster Fläche darstellen.

Abbildung 5.29 E

Darstellungsoptionen der Zeitleiste

a

Abbildung 5.30 E

Darstellungen im Vergleich (von oben nach unten): Normal und Reduziert, Gross, Vorschau im Kontext

163

5.1 Zeitleiste

Die Einstellungen Vorschau und Vorschau im Kontext zeigen in-nerhalb der Zeitleiste eine kleine Vorschau des jeweiligen Bildes an.

Zeitleiste steuern

Normalerweise sehen Sie sich zum Testen Ihrer Arbeit den kom-pletten Flash-Film an, indem Sie (Strg)/(°)+(¢) drücken oder den Befehl über Steuerung • Film testen • Testen aufrufen. Möchten Sie sich hingegen nur die aktuell betrachtete Zeitleiste anschauen, möglicherweise die eines MovieClips, drücken Sie einfach die (¢)-Taste, und die Wiedergabe startet an der Stelle, an der der Abspielkopf in der Zeitleiste aktuell steht.

Im Zeitleisten-Fenster finden Sie eine kleine, aber wichtige Funktion, die Ihnen eine Menge Zeit spart: Die Schleife 7 erleichtert die Arbeit mit Animationen erheblich, da man bei komplexen Symbolen in der Regel mehrere Teilanimationen in einem MovieClip hat und sich oft nur bestimmte Teile der Anima-tion genau anschauen möchte, um an diesen zu arbeiten.

Aktivieren Sie die Schleife, können Sie den Schleifenbereich über die Anfasser 2 und 3 anpassen. Der Abspielkopf wird sich dann nach Betätigen der Abspieltaste nur innerhalb des Schlei-fenbereichs bewegen.

Neben der Schleife finden Sie übrigens auch weitere Steuer-elemente: z. B. Abspielen 4, was dieselbe Funktion wie die (¢)-Taste erfüllt, Ein Bild vorgehen 5, was den Abspielkopf um ein Bild nach rechts bewegt (auch über die (.)-Taste auslösbar), und Zum letzten Bild gehen 6, was den Abspielkopf ans rechte Ende bewegt (auch über (ª)+(.) auslösbar). Für die Tastenkür-zel der Linksbewegung müssen Sie die (.)-Taste jeweils durch die (,)-Taste ersetzen.

Szenen und Bildbezeichner

Komplexere Flash-Filme bestehen meist aus mehrteiligen Be-reichen. Bei einer Webseite hätte man zu Beginn eventuell eine

F Abbildung 5.31Nur innerhalb einer ausgewählten Schleife abspielen

b c

5 7d f

164

Kapitel 5 Animation

kurze Animationssequenz, z. B. für einen animierten Aufbau der Webseite, und anschließend die einzelnen Inhaltsbereiche der Webseite.

Für einen solchen Aufbau können Sie Szenen verwenden. Jede Szene besitzt eine eigene Hauptzeitleiste. Sie erreichen das Fens-ter zur Verwaltung von Szenen über Fenster • Andere Bedien-felder • Szene.

Szenen verwalten | Um eine neue Szene zu erstellen, klicken Sie auf das Symbol Szene hinzufügen 2. Via Doppelklick auf die Szene 1 können Sie der Szene einen individuellen Namen ge-ben. Per Mausklick auf Szene duplizieren 3 wird ein Duplikat inklusive aller Inhalte der Szene erstellt. Eine vorhandene Szene können Sie via Mausklick auf den Papierkorb 4 löschen. Die Rei-henfolge von Szenen können Sie per Drag & Drop ändern.

Vor- und Nachteile | Auf den ersten Blick erscheinen Szenen sehr vielversprechend, da sich Bereiche mittels Szenen inhaltlich sichtbar trennen lassen. In der Praxis ergeben sich allerdings des Öfteren Probleme, die einem häufig erst später auffallen. So ist es z. B. nicht möglich, ein grafisches Element auf mehreren Szenen gleichzeitig anzuzeigen, da jede Szene eine eigene Hauptzeitleiste besitzt und die Zeitleisten von zwei Szenen in keiner Weise mit-einander verbunden sind.

Wenn Szenen verwendet werden, führt das oft dazu, dass Ebe-nen und Elemente mehrmals angelegt werden müssen. Häufig möchte man den Übergang zwischen zwei Bereichen eines Flash-Films über Transitionseffekte, wie ein Überblenden oder das Auf- und Abbauen von Elementen, animieren. Einen Übergang zwischen zwei Szenen zu animieren ist sehr umständlich, da eine Szene immer abrupt mit einem Endbild endet und die nächste Szene mit einem Startbild anfängt.

Eine Alternative zur Strukturierung bieten sogenannte Bildbe-zeichner.

Bildbezeichner | Mithilfe von Bildbezeichnern können Sie ver-schiedene Bereiche eines Flash-Films visuell auf der Hauptzeit-leiste oder auch auf der Zeitleiste eines MovieClips voneinander trennen. Bildbezeichner können nur Schlüsselbildern zugeord-net werden – gängige Praxis ist es, eine eigene Ebene speziell für Bildbezeichner zu erstellen, an den gewünschten Stellen leere Schlüsselbilder anzulegen und diesen Schlüsselbildern dann Bild-bezeichnern zuzuweisen. Da Bildbezeichner über ActionScript bildunabhängig angesteuert werden können, können Sie Schlüs-

G Abbildung 5.32Im Fenster Szene können Sie die Szenen Ihres Films verwalten.

a

4c2

Dateigröße

Der Einsatz von Szenen führt häufig dazu, dass Flash-Filme unnötig groß werden, da Ele-mente, die in mehreren Szenen eingesetzt werden, auch mehr-mals instantiiert bzw. erzeugt werden müssen. Das lässt sich mithilfe von Bildbezeichnern vermeiden.

Szenen vermeiden

Haben Sie einen Film erst ein-mal in Szenen unterteilt, ist es sehr mühselig, die Struktur wie-der abzuändern. Alles in allem führt der Einsatz von Szenen in der Praxis oft zu vielen vermeid-baren Problemen. Der Einsatz von Szenen wird daher mittler-weile von vielen Flash-Nutzern vermieden.

165

5.1 Zeitleiste

selbilder mit Bildbezeichnern nachträglich beliebig verschieben, ohne dass dies die Ansteuerung via ActionScript unerwünscht be-einflusst. Die Nutzung von Bildbezeichnern kann die Steuerung und nachträgliche Veränderungen vereinfachen.

Sie können die Position einzelner Bereiche eines Flash-Films dann auf einen Blick schnell erkennen 1, 2 und 3. Animierte Übergänge 4 sind ebenso möglich wie mehrfach verwendete Elemente 5 und 6, die einfach mithilfe von Ebenen über meh-rere Bereiche verteilt werden.

Um einem Schlüsselbild einen Bildbezeichner zuzuweisen, wählen Sie das Schlüsselbild in der Zeitleiste aus und öffnen gegebenen-falls das Eigenschaften-Fenster. Tragen Sie den Bildbezeichner im Eigenschaften-Fenster im Reiter Bezeichnung unter Name 7 ein. Bildbezeichner mit Leerzeichen sind zwar gültig, sollten aber vermieden werden.

Ansteuerung von Szenen und Bildbezeichnern | Sie können Szenen und Bildbezeichner über ActionScript ansteuern. Um beispielsweise am Ende einer Szene eine andere Szene mit dem Namen »webpage« anzuspringen, wird einem Schlüsselbild im letzten Bild der Szene folgender Code zugewiesen:

Bildbezeichner typ

Optional können Sie im Feld Typ einen Bildbezeichnertyp festle-gen. Der Typ dient lediglich zur Beschreibung. Sie können zwi-schen den drei Werten Name, Kommentar und Anker wählen.

F Abbildung 5.33Getrennte Bereiche mit Bild-bezeichnern

a b c

def

Film stoppenÜblicherweise sollte der Flash-Film an Stellen mit Bildbezeich-nern stoppen. Dazu werden auf einer eigenen Ebene, z. B. einer Ebene Actions, Schlüsselbilder angelegt und den Schlüsselbildern die Aktion stop(); zugewiesen. Mehr zur Steuerung von Flash-Filmen erfahren Sie in Abschnitt 5.9, »Verschachtelung«.

F Abbildung 5.34Bildbezeichner zuweisen

g

Ansteuerung von BildernWeitere Beispiele zur Ansteue-rung von Bildern der Zeitleiste finden Sie in Abschnitt 5.9, »Verschachtelung«.

166

Kapitel 5 Animation

gotoAndStop(1,"webpage");

In diesem Codebeispiel entspricht »webpage« dem Namen der Szene und »1« der Bildnummer des Bildes, das angesprungen wird. Ein Bild mit dem Bildbezeichner »game« kann durch folgen-den Code angesprungen werden:

gotoAndStop("game");

5.2 Bild-für-Bild-Animation

Animationen können in Flash über verschiedene Techniken ver-wirklicht werden. Die Auswahl der Technik richtet sich dabei nach der gewünschten Animation.

Anwendungsbereiche | Bild-für-Bild-Animationen werden recht selten eingesetzt, da sie in vielen Fällen zu einer großen Datei-größe des Flash-Films führen und vergleichsweise zeitaufwendig sind. Für jede Änderung wird ein eigenes Schlüsselbild benötigt. Daher werden sie meist nur dann verwendet, wenn eine der anderen Animationsmöglichkeiten für das gewünschte Resultat nicht ausreichend geeignet ist. Das ist z. B. bei 3D-Bitmap-Ani-mationen der Fall.

Essenziell für Bild-für-Bild-Animationen ist die Arbeit mit Schlüsselbildern. Nachdem Sie einen Inhalt in einem Schlüssel-bild platziert haben, werden für eine Bild-für-Bild-Animation in den darauffolgenden Bildern der Zeitleiste weitere Schlüsselbil-der angelegt.

Bildrate | Die Bildrate eines Flash-Films ist die Geschwindigkeit der pro Sekunde angezeigten Bilder. Die Bildrate wird in Bildern pro Sekunde (BpS) gemessen und ist für die Geschwindigkeit, mit der eine Animation abläuft, ein wesentlicher Faktor.

Die Bildrate können Sie im Eigenschaften-Fenster im Reiter Eigenschaften einstellen. Achten Sie darauf, dass kein Objekt auf der Bühne ausgewählt ist. Die standardmäßig eingestellte Bildrate von 24 Bildern pro Sekunde ist meist zu niedrig. Grund-sätzlich empfiehlt es sich als Erstes, die Bildrate zu erhöhen.

Wenn Sie die Bildrate eines Flash-Films einstellen, wird der Wert für die Bildrate gespeichert, sodass zukünftig erstellte Filme standardmäßig die zuletzt verwendete Bildrate verwenden.

Link-Tipp: Flash FightUnter www.yonkis.com/media­flash/animacionflashera.htm finden Sie eine witzige Zeichentrick-Ani-mation, die in großen Teilen mit Bild-für-Bild-Animationen ver-wirklicht wurde.

Die richtige Bildrate

Die richtige Bildrate hängt vom Projekt ab, bei Spielen z. B. wer-den oft sehr hohe Bildraten ver-wendet, meist 40 bis 60, bei Werbebannern oft 24 Bilder pro Sekunde. Bei gewöhnlichen Animationen reichen 31 Bilder pro Sekunde in der Regel aus. Da sich bestimmte Bildraten bei Macs und PCs in einigen Flash-Player-Versionen unterschiedlich auswirken, ist eine Bildrate von 31 BpS (Bildern pro Sekunde) empfehlenswert. Die Differenz von Mac zu PC fällt bei dieser Bildrate sehr gering aus. Bei modernen Flash-Player-Versio-nen gibt es aber keinen Unter-schied mehr.

871

Kapitel 21 AIR: Für mobile Geräte und den Desktop veröffentlichen

Kapitel 21

AIR: Für mobile Geräte und den Desktop veröffentlichenEin interessantes Einsatzfeld für Entwickler ist die Entwicklung mit Flash außerhalb des Browsers. Adobe AIR (AIR = »Adobe Integrated Runtime«) ist eine plattform­unabhängige Laufzeitumgebung , mit der man als Flash­Entwickler Anwendungen für den Desktop sowie für mobile Endgeräte veröffentlichen kann. Seit AIR 3 ist auch eine Veröffentlichung unabhängig von der Verfügbarkeit der AIR­Laufzeit­umgebung möglich.

21.1 Wie funktioniert AIR?

Mit AIR programmieren Sie wie gewohnt in ActionScript. Es han-delt sich nicht um ein gänzlich anderes System, das Sie mühsam von Grund auf erlernen müssen. AIR zeigt sich aus Programmie-rersicht einfach nur als eine Bibliothek mit zusätzlichen Funkti-onen, die im Flash Player des Browsers sonst nicht unterstützt werden und sich in der Regel auf die Betriebssystemebene be-ziehen. In der Dokumentation von ActionScript 3 werden solche Funktionen durch ein kleines AIR-Symbol gekennzeichnet 1.

F Abbildung 21.1Dokumentation von Klassen, die für den Zugriff auf das Dateisys-tem dienen und nur über Adobe AIR zugänglich sind

a

872

Kapitel 21 AIR: Für mobile Geräte und den Desktop veröffentlichen

Bevor Sie eine Anwendung auf Adobe AIR basierend entwickeln, sollten Sie sich zunächst die aktuelle Laufzeitumgebung unter http://get.adobe.com/air/?loc=de herunterladen.

Wenn Sie einen ersten Eindruck erhalten möchten, wie das Look & Feel von Adobe AIR-Anwendungen ist, finden Sie unter www.adobe.com/products/air/showcase.html oder auf http://gaming.ad­obe.com/showcase einige ausgewählte Beispiele, darunter sowohl Spiele als auch Anwendungen.

Historie von AIR

AIR war anfangs nur für Desktop-Anwendungen konzipiert. Erst mit zunehmender Popularität von Apps auf mobilen Geräten setzte Adobe mit AIR 2.6 einen Schwerpunkt auf die mobile Ent-wicklung. Das war vor allem nötig, weil der Flash Player mobil nicht so gut wie native Anwendungen lief und die Menschen lie-ber aus den App Stores die Anwendungen oder Spiele nutzten als über den Browser. Außerdem hatte sich Apple dauerhaft gewei-gert, den Flash Player auf iPhone und iPad zu unterstützen.

Das alles hatte Flashs Zukunft infrage gestellt. Viele Blogger sprachen schon davon, dass Flash bald »tot« wäre und durch native Apps ersetzt werden würde. Deshalb setzte Adobe viel Energie in die Weiterentwicklung von AIR. So wurde Ende 2011 verkündet, dass der mobile Flash Player nicht mehr weiterentwi-ckelt und aus dem Google Android App Store entfernt würde, um die Entwicklungskräfte zu bündeln. Das war ein sehr drastischer Schritt für Adobe, der sicherlich auch Ihre berufliche Laufbahn

Adobe AIR-Anwendungen erzeugen

Um Adobe AIR-Anwendungen zu erzeugen, können Sie z. B. folgende Entwicklungsumge-bungen verwenden:

E Flash Builder

E HTML-/AJAX-basierte, z. B. Dreamweaver oder ein ande-rer beliebiger Editor (mithilfe des AIR SDK)

Abbildung 21.2 E

»Machinarium«, ein auf iPad und iPhone viel gekauftes Spiel, das mit AIR veröffentlicht wurde

873

21.1 Wie funktioniert AIR?

beeinflusst hat. Nachdem aber der Grundstein für die mobile Entwicklung mit AIR 2.6 gelegt worden war, verbesserte AIR 3 die Performance und Praxistauglichkeit der Anwendungen deut-lich. So wurde mit AIR 3.0 die Stage 3D-Hardwarebeschleuni-gung eingeführt und mit AIR 3.2 auch auf mobile Geräte übertra-gen, sodass Performance nicht mehr nur Sache der nativen Apps war. Mit den Native Extensions konnten native Funktionen wie z. B. das Benachrichtigungssystem des Geräts angesprochen wer-den. Zusammen mit den anderen Workflow-Verbesserungen von Flash CS6, z. B. Spritesheets, entstand eine fruchtbare Basis für die Flash-Community, sodass es wahrscheinlich in Zukunft sehr viele erfolgreiche mobile Flash-Anwendungen geben wird.

Das ist auch der Grund, warum Sie sich mit AIR befassen müs-sen, denn die Zukunft gehört nicht mehr allein den Desktop-Rechnern, sondern auch den Tablets und Smartphones, die alle keinen Flash Player haben werden.

Der Markt für mobile Spiele und Applikationen ist sehr dyna-misch und (noch) in der wundervollen Phase, in der man als ein-ziger Entwickler sehr viel bewegen kann. Selbst wenn Sie noch nie für mobile Geräte entwickelt haben und es erst jetzt lernen, ist der Zug noch lange nicht abgefahren. Mit Flash und Action-Script steht Ihnen eine verhältnismäßig einfach zu erlernende Umgebung zur Verfügung, um schnell und für viele Plattformen gleichzeitig zu entwickeln.

Mit eingebetteter Laufzeitumgebung ohne AIR-Abhängigkeit veröffentlichen

Die mit Flash CS6 bzw. AIR 3.0 eingeführte Veröffentlichungsop-tion AIR Captive Runtime (Anwendung mit eingebetteter Lauf-zeitumgebung) ermöglicht das Veröffentlichen ohne Abhängig-keit von der AIR-Laufzeitumgebung. Damit wurde das bis dahin größte Manko beseitigt, denn man kann nicht immer sicherstel-len, dass der Nutzer vorher AIR installiert hat oder dass das In-ternet verfügbar ist zum Downloaden, wenn beispielsweise Ihre Anwendung per CD/DVD verbreitet wird. Selbst wenn die Lauf-zeitumgebung vorhanden ist, könnte sie veraltet sein. Ebenfalls problematisch ist die Abhängigkeit von der Laufzeitumgebung, wenn der Nutzer nicht die Berechtigung hat, etwas auf dem Sys-tem zu installieren. Außerdem ist es für den Nutzer einfach eine weitere Hürde, wenn er Ihre Anwendung installieren muss, was ihn abschrecken könnte.

874

Kapitel 21 AIR: Für mobile Geräte und den Desktop veröffentlichen

Um die AIR-Laufzeitumgebung einzubetten, müssen Sie einfach in den Veröffentlichungseinstellungen als Ziel AIR for Desktop wählen 1 und im AIR-Einstellungen-Fenster, das sich durch einen Klick auf das Werkzeug-Symbol 2 öffnet, die Option An-wendung mit eingebetteter Laufzeitumgebung aktivieren 3.

Mit Einbettung der Laufzeitumgebung wächst die Dateigröße natürlich etwas, was aber für Desktop-Anwendungen irrelevant ist. Bei mobilen Anwendungen hingegen ist die Dateigröße rele-vant: Die Einbettung vergrößert die App-Installationsdatei um ca. 9 MB, entpackt auf der Festplatte um ca. 20 MB. Versuchen Sie Ihre Anwendung möglichst klein zu halten, sodass sie von den Nutzern am besten auch ohne WLAN heruntergeladen werden kann.

21.2 Desktop-Anwendungen entwickeln

Während früher oft kostenpflichtige Software wie ZINC (www.multidmedia.com) eingesetzt wurde, um Anwendungen für den Desktop zu entwickeln, ist AIR seit Version 3 reif genug, um diese Third-Party-Anwendungen gänzlich abzulösen. Das liegt haupt-sächlich an der nun eingebetteten Laufzeitumgebung.

Nur falls Ihnen für ein Projekt die umfangreichen nativen Funktionen von AIR trotzdem nicht ausreichen sollten oder falls Linux unterstützt werden muss, kommt eine Anwendung wie ZINC wieder infrage.

Abbildung 21.3 E

AIR-Anwendung mit eingebette-ter Laufzeitumgebung veröffent-lichen

a b

c

Keine Einzeldatei

Bei der Veröffentlichung für den Desktop bedeutet die Einbet-tung der Laufzeitumgebung nicht etwa, dass am Ende eine einzige isolierte exe-Datei ent-steht. Es entsteht stattdessen ein Ordner, in dem eine exe-Datei enthalten ist, die von an-deren Dateien aus demselben Ordner abhängig ist. Sie müssen also den Ordner weitergeben und nicht nur die exe-Datei. Am besten nutzen Sie ein externes Installer-Programm, das den Ordner installiert und die exe-Datei im Startmenü des Be-triebssystems verknüpft.

875

21.3 Mobile Anwendungen entwickeln

21.3 Mobile Anwendungen entwickeln

Bei mobilen Anwendungen werden Sie in der Regel Ihre App auch mit eingebetteter Laufzeitumgebung veröffentlichen, sodass der Nutzer die AIR-Laufzeitumgebung nicht vorher downloaden muss. Für iOS ist es gar nicht möglich, eine App mit AIR-Abhän-gigkeit zu veröffentlichen.

Wie die Auswahl von AIR für den Desktop, finden Sie die mobile Option ebenfalls in den Veröffentlichungseinstellungen von Flash. Damit können Sie die entsprechenden Funktionen von AIR nutzen, wie z. B. die Erkennung von Multi-Touch-Gesten oder die geografische Ortung des Nutzers.

Mobile Content Simulator

Während in Flash CS5 die Adobe Device Central für jedes ein-zelne Gerät ein eigenes Profil hatte, wurde diese in Flash CS6 durch den Mobile Content Simulator ersetzt, mit dem Sie Touch-Events und Geräterotationen etc. simulieren können. Auf diese Weise können Sie Ihre Apps schneller testen. Der Simulator öff-net sich automatisch in einem Fenster, wenn in den Veröffentli-chungseinstellungen eine mobile AIR-Version ausgewählt ist. Den praktischen Umgang mit dem Simulator erlernen Sie in Abschnitt 21.4, »›Hello World‹-iPhone-App mit AIR entwickeln«.

Native Extensions

Manche geräteabhängige Anwendungsfälle wie z. B. die In-App-Bezahlung oder das iOS Game Center sind (zumindest zum Zeit-punkt der Drucklegung dieses Buches) nicht in AIR enthalten. Mit den Native Extensions hat Adobe aber eine Schnittstelle geschaf-

Systemanforderungen

Während die Systemanforde-rungen von AIR für Desktop-Anwendungen uninteressant sind, sollten Sie über die Anfor-derungen an mobile Geräte in-formiert sein: Ein Android-Gerät muss mindestens Android 2.2 installiert haben und 256 MB RAM haben, während bei Apple-Geräten iOS 4 und iPhone 3GS (oder iPad 1) Mindestanforderungen sind. Die vollständige Liste finden Sie unter www.adobe.com/de/ products/air/tech­specs.html.

F Abbildung 21.4Mit AIR für mobile Geräte veröffentlichen

876

Kapitel 21 AIR: Für mobile Geräte und den Desktop veröffentlichen

fen, die die direkte Ansprache des Geräts über die Einbindung von nativem Code ermöglicht. Im Falle von iOS ist das demnach Objective-C-Code und nicht ActionScript.

Native Extensions werden in ane-Dateien gepackt und können in den Veröffentlichungseinstellungen in Flash eingebunden wer-den. Sie müssen nicht selbst nativ programmieren können, so-lange Sie für Ihren Anwendungsfall eine Native Extension auf der entsprechenden Adobe-Seite finden (www.adobe.com/ devnet/air/native­extensions­for­air.html), auf der sowohl von Adobe entwickelte als auch von der Community entwickelte Extensions samt Tutorial aufgelistet werden.

Debugging

Abschließend sei erwähnt, dass Flash Ihnen Möglichkeiten gibt, Fehlersuche im ActionScript-Code Ihrer mobilen Anwendungen zu betreiben. Solange Sie nur den Simulator verwenden, können Sie natürlich Ihre Anwendung auf bekanntem Wege über die Me-nüleiste in Flash im Debug-Modus starten.

Wenn hingegen die Anwendung im Debug-Modus auf dem mobilen Gerät laufen soll und Sie von Ihrem Arbeitsrechner aus darauf debuggen möchten, dann müssen Sie andere Wege gehen: Über Debuggen • Debuggen • auf Gerät per USB können Sie bequem auf Ihr Gerät zugreifen, was aber nur mit Android-Gerä-ten möglich ist.

Adobe arbeitet bereits an einer USB-Debugging-Möglichkeit für iOS, in dem Ihnen momentan nur das kompliziertere Remote-Debugging zur Verfügung steht, erreichbar über Debuggen • Remote-Debug-Sitzung beginnen • ActionScript 3.0. In den Veröffentlichungseinstellungen von AIR muss dafür die Netz-werkschnittstelle für Remote-Debugging aktiv sein. Dann kom-munizieren Ihr Arbeitsrechner und Ihr Gerät über das Netzwerk miteinander, Sie müssen nur leider die üblichen Netzwerkpro-bleme vorher beseitigen.

Abbildung 21.5 E

Von Adobe entwickelte Native Extensions zum Download

Keine Verbindung?

Damit Sie auf das Gerät per USB zugreifen können, muss es ver-bunden sein und im Betriebs-system als solches erkannt wer-den. Eine Erkennung als reines USB-Massenspeichergerät reicht nicht unbedingt aus. Dazu ist gegebenenfalls die Installation des aktuellen Herstellertreibers nötig. Außerdem muss auf dem Gerät USB-Debugging aktiviert sein (was an sich nichts mit Flash zu tun hat).

877

21.4 »Hello World«-iPhone-App mit AIR entwickeln

21.4 »Hello World«-iPhone -App mit AIR entwickeln

Mit AIR ist es möglich, Applikationen direkt für das iPhone und für das iPad zu entwickeln. Im Folgenden werden Sie sich Schritt für Schritt von einem ersten »HelloWorld« im mobilen Simulator bis zu einer App herantasten, die Sie direkt auf Ihrem iPhone aus-probieren können.

Für Letzteres müssen Sie sich bei Apple als iOS-Entwickler für das iOS Developer Program registrieren. Die Mitgliedschaft kos-tet 99 Dollar bzw. 79 Euro pro Jahr und kann unter http://devel­oper.apple.com/programs/ios angemeldet werden.

Schritt für Schritt:»HelloWorld« mit dem mobilen Simulator

1 Flash-Dokument anlegenErzeugen Sie zunächst ein neues Dokument, indem Sie das Menü Datei • Neu auswählen, und stellen Sie den Typ AIR for iOS ein. Die Auflösung sollten Sie entsprechend Ihrem Gerät einstellen. Mögliche Auflösungen sind:

� 640 × 960 für iPhones mit Retina-Display (Standardeinstellung) � 320 × 480 für ältere iPhones � 1.024 × 768 für das iPad 1 und 2 � 2.048 × 1.536 für das iPad 3

21_AIR\HelloWorld\ HelloMobileGoodness.fla

F Abbildung 21.6Neues AIR iOS-Flash-Projekt erzeugen

878

Kapitel 21 AIR: Für mobile Geräte und den Desktop veröffentlichen

In diesem Workshop werden wir unsere Applikation für das iPhone 4 auslegen, der Vorgang lässt sich jedoch problemlos auch auf andere Modelle und das iPad übertragen.

Nach dem Anlegen sieht das Dokument genauso aus wie ein normales. Im Hintergrund sind jedoch ein paar Einstellungen geändert und eine XML-Einstellungsdatei angelegt worden.

2 HelloWorld-MovieClip hinzufügenErzeugen Sie nun ein MovieClip mit einer beliebigen Grafik, und geben Sie diesem einen Instanznamen. In unserem Beispiel hat der Clip den Instanznamen »_mcHello«.

G Abbildung 21.7 Der HelloWorld-MovieClip mit einem Textfeld und dem Instanznamen »_mcHello«

3 Beschleunigungssensor einbauenDiesen MovieClip möchten wir nun mithilfe des Beschleunigungs-sensors steuern. Wenn Sie Ihr iPhone neigen, soll der MovieClip in diese Richtung heruntergleiten. Je stärker Sie es neigen, desto schneller soll das passieren. Dieses Verhalten ist sehr einfach mit den AIR-Bibliotheken zu realisieren. Generell ist das Vorgehen genauso, wie Sie es für Maus oder Tastatur kennengelernt haben: Sie benutzen das Event-Modell von Flash.

Der Unterschied ist hierbei, dass diese Ereignisse nicht von der Bühne oder einem MovieClip dispatchet werden, sondern von der Klasse Accelerometer im flash.sensors-Paket. Sie erzeu-gen daher zunächst eine Instanz von Accelerometer und regist-rieren den Listener an dieser.

import flash.sensors.Accelerometer;

import flash.events.AccelerometerEvent;

var acc:Accelerometer = new Accelerometer();

acc.addEventListener(AccelerometerEvent.UPDATE,

orientationChanged);

Was ist Beschleunigung?

Im alltäglichen Sprachgebrauch versteht man unter Beschleuni-gung eine Kraft, die auf einen Körper wirkt, wenn dieser seine Geschwindigkeit ändert. Bleibt die Geschwindigkeit konstant, gibt es auch keine Beschleuni-gung. Der Beschleunigungssen-sor in mobilen Geräten bezieht seinen Namen jedoch von der Erdbeschleunigung, also der Schwerkraft, die uns permanent am Boden hält, und misst daher nie »keine Beschleunigung«. Der Sensor liefert immer drei Werte zwischen −1 und 1, die angeben, in welche Richtung die Erdbeschleunigung wirkt. Legen Sie das iPhone flach auf den Tisch, wirkt diese komplett in Richtung der positiven z-Achse, und Sie erhalten den Vektor (0, 0, 1) als Messwert des Beschleunigungssensors. Die Daten sind daher synonym mit der Neigung, und man könnte den Sensor auch als Lage- oder Neigungssensor be-zeichnen.

879

21.4 »Hello World«-iPhone-App mit AIR entwickeln

function orientationChanged(ae:AccelerometerEvent):

void{

//...

}

Die Funktion orientationChanged wird nun immer dann auf-gerufen, wenn sich die Neigung des Geräts ändert. Diese Werte möchten wir auslesen und speichern. Erweitern Sie den Quell-code daher um zwei Variablen, die die X- und die Y-Beschleuni-gung speichern.

var accX:Number = 0;

var accY:Number = 0;

function orientationChanged(ae:AccelerometerEvent):

void{

accX = ae. accelerationX;

accY = ae. accelerationY;

}

Als Letztes müssen wir die Lage unseres MovieClips ändern, um die Neigung sichtbar zu machen. Dazu ändern wir in jedem Frame die Position abhängig von den gespeicherten Beschleuni-gungswerten. Fügen Sie daher folgenden Quellcode hinzu:

import flash.events.Event;

addEventListener(Event.ENTER_FRAME, moveClip);

function moveClip(e:Event):void{

_mcHello.x -= accX * 10;

_mcHello.y += accY * 10;

}

Die Werte aus dem Beschleunigungssensor sind immer Werte zwischen −1 und 1 (siehe Kasten »Was ist Beschleunigung?«), da-her werden sie für die Positionsänderung mit 10 multipliziert, um eine schnellere Bewegung zu erreichen.

4 Applikation im Simulator testenDas Testen im Simulator erfordert keine weiteren Einstellungen und funktioniert, wie Sie es gewohnt sind. Drücken Sie (Strg)/(°) + (¢), um die Anwendung zu starten. Sie sehen nun Ihr Pro-gramm. Zusätzlich startet nun aber auch ein kleines Simulator-Fenster, in dem Sie u. a. auch den Beschleunigungssensor simu-lieren können.

880

Kapitel 21 AIR: Für mobile Geräte und den Desktop veröffentlichen

G Abbildung 21.8Der Mobile Content Simulator von Flash. Hier können Sie die Neigung und den Ort des Geräts simulieren sowie unterschiedliche (Finger-)Gesten ausführen.

Sie können mit der Maus das virtuelle Smartphone 1 nun drehen und sehen, wie sich der Schriftzug unserer HelloWorld-Applika-tion bewegt.

Der Simulator zeigt Ihnen außerdem die genauen Werte des Beschleunigungssensors an 2. Diese werden in g (Erdbeschleuni-gung) gemessen. Die Neigung kann auch präzise über die Regler 3 eingestellt werden. Die Taste 4 richtet das Smartphone wie-der in die Ausgangsposition aus.

Vorbereitung zum Testen auf dem Gerät

Bevor Sie mit der Entwicklung einer Anwendung für das iOS be-ginnen, müssen Sie sich bei Apple als iOS-Entwickler für das iOS Developer Program registrieren (http://developer.apple.com/pro­grams/ios).

Nachdem Sie sich registriert haben, müssen Sie eine Reihe von Schritten absolvieren, bevor Ihre Applikation auf Ihrem iPhone oder iPad laufen kann. Abbildung 21.9 zeigt das Zusammenspiel aller Teile, die Sie im Folgenden zusammenfügen werden.

d

a

c

b

Keine Abbildungen des iOS Dev CentersLeider dürfen wir Ihnen in diesem Abschnitt aus urheberrechtlichen Gründen keine Screenshots aus dem iOS Dev Center zeigen und müssen uns mit den entsprechen-den Beschreibungen begnügen.

881

21.4 »Hello World«-iPhone-App mit AIR entwickeln

Certificate

Entwickler-zertifikat

ID

Applikations- ID

Geräte-ID (UDID)

Provisioning-Profile

Certificate

P12

Um

wan

deln

in P

12

Anwendung

Zertifikat zur Signierung erzeugen | Der erste Schritt ist die Zer-tifikaterstellung. Der Prozess ist teilweise nicht ganz einfach. Da es auch hier deutliche Unterschiede bei der Erzeugung zwischen Windows und Mac OS X gibt, werden alle notwendigen Schritte im Folgenden für beide Plattformen getrennt erläutert.

Schritt für Schritt:Zertifizierungsprozess unter Mac OS X durchführen

Im folgenden Workshop wird erläutert, wie Sie Ihr Zertifikat zum Signieren von eigenen iOS-Anwendungen unter Mac OS X erzeu-gen können.

F Abbildung 21.9Schematischer Aufbau a ller Zertifizierungsschritte, die für das Testen auf dem iPhone notwendig sind

Mac benutzen, falls verfügbarSollten Sie sowohl einen Win-dows-PC als auch einen Mac be-sitzen, empfehlen wir Ihnen, den Zertifizierungsprozess unter Mac OS X durchzuführen. Dabei gibt es deutlich weniger Schritte, und der Prozess ist weniger fehleran-fällig.

F Abbildung 21.10Zertifikat anfordern

882

Kapitel 21 AIR: Für mobile Geräte und den Desktop veröffentlichen

1 Zertifikat in der Schlüsselbundverwaltung erzeugenUnter Mac OS X fordern Sie über die Schlüsselbundverwaltung, die Sie unter den Dienstprogrammen finden, über das Menü Schlüsselbundverwaltung • Zertifikatsassistent • Zertifikat einer Zertifizierungsinstanz anfordern ein neues Zertifikat an. Geben Sie Ihre E-Mail-Adresse und Ihren Namen ein, und aktivieren Sie das Optionsfeld Auf der Festplatte sichern.

Klicken Sie auf Fortfahren, und speichern Sie das Zertifikat auf dem Schreibtisch ab.

2 Zertifikat aus dem Apple iOS Dev Center hochladenLoggen Sie sich mit Ihrem Entwicklerzugang im iOS Dev Center ein. Im Bereich Provisioning Portal • Certificates können Sie die Datei hochladen.

3 Signiertes Zertifikat herunterladenNach kurzer Wartezeit steht Ihnen dann Ihr Zertifikat im Provi-sioning Portal im Bereich Certificates zur Verfügung. Klicken Sie neben dem Zertifikat auf Download, um das Zertifikat her-unterzuladen.

4 Zertifikat in die Schlüsselbundverwaltung importierenWählen Sie das signierte Zertifikat aus, und ziehen Sie es per Drag & Drop in die Schlüsselbundverwaltung.

5 Zertifikat als .p12-Datei exportierenSelektieren Sie in der Schlüsselbundverwaltung das signierte Zer-tifikat, und wählen Sie dann aus dem Menü den Menüpunkt Ab-lage • Objekte exportieren aus. Sie werden daraufhin aufgefor-dert, ein Kennwort einzugeben. Merken Sie sich dieses gut. Sie benötigen es später noch, wenn Sie Ihre Applikation aus Flash heraus veröffentlichen. Speichern Sie das Zertifikat dann als .p12-Datei ab. Dieses wird dann später in Flash zur Authentifizierung

Abbildung 21.11 E

Das Zertifikat wurde importiert.

883

21.4 »Hello World«-iPhone-App mit AIR entwickeln

benötigt. Damit ist der Zertifizierungsprozess unter Mac OS X ab-geschlossen.

Schritt für Schritt:Zertifizierungsprozess unter Windows durchführen

Im folgenden Workshop wird erläutert, wie Sie Ihr Zertifikat zum Signieren von eigenen iOS-Anwendungen unter Windows erzeu-gen können. Vorweg sei erwähnt, dass der Zertifizierungsprozess unter Windows etwas umständlicher ist als unter Mac OS X.

1 Visual C++ 2008 Redistributables und OpenSSL herunterladen und installieren

Laden Sie unter www.slproweb.com/products/Win32OpenSSL.html zunächst die Visual C++ 2008 Redistributables herunter, und installieren Sie sie auf Ihrem System. Laden Sie anschließend auf derselben Seite die für Ihr System geeignete Version von OpenSSL herunter, und installieren Sie sie. Sollten Sie eine 64-Bit-Version von Windows benutzen, empfehlen wir Ihnen, dennoch die 32-Bit-Version zu installieren. Unter Windows 7 (64 Bit) kann es bei der Erzeugung des Zertifikats mit der 64-Bit-Version von OpenSLL zu Fehlern kommen. Starten Sie nach den Installationen Ihren Rechner neu.

2 Privaten Schlüssel mit OpenSSL erzeugenÖffnen Sie die Eingabeaufforderung unter Windows, z. B. indem Sie den Menüpunkt Start • Alle Programme • Zubehör • Ein-gabeaufforderung öffnen. Wechseln Sie in das bin-Verzeichnis von OpenSSL, z. B. über cd \openssl\bin. Geben Sie folgenden Befehl ein, um einen privaten Schlüssel zu erzeugen:

openssl genrsa -out mykey.key 2048

Es kann an diesem Punkt vorkommen, dass eine Warnung oder ein Fehlerhinweis erscheint. Zunächst sollten Sie dann noch ein-mal die Syntax des Befehls überprüfen. Abweichend von Adobes Dokumentation können Sie versuchen, trotz Fehler- oder Warn-hinweisen an dieser Stelle, den Prozess fortzusetzen. Sie sollten allerdings unbedingt überprüfen, ob der Schlüssel erzeugt wurde und die Datei größer als 0 Bytes ist. Ob der Schlüssel erzeugt wurde, können Sie leicht überprüfen. Geben Sie dir ein, und schauen Sie, ob eine mykey.key-Datei erzeugt wurde.

884

Kapitel 21 AIR: Für mobile Geräte und den Desktop veröffentlichen

G Abbildung 21.12Der private Schlüssel wurde erzeugt.

3 Zertifikat erzeugenGeben Sie in der Eingabeaufforderung den folgenden Befehl ein. Fügen Sie dabei Ihre E-Mail-Adresse, Ihren Namen und gegebe-nenfalls den Ländercode Ihres Landes (DE) an den entsprechen-den Stellen ein:

openssl req -new -key mykey.key -out

Certificate SigningRequest.certSigningRequest

-subj "/[email protected],

CN=John Doe, C=US"

Überprüfen Sie, ob im bin-Verzeichnis von OpenSSL eine Datei mit dem Namen »CERTSIGNINGREQUEST-Datei (.certSigningRe-quest)« erzeugt wurde.

4 Zertifikat aus dem Apple iOS Dev Center hochladenLoggen Sie sich mit Ihrem Entwicklerzugang im iOS Dev Center ein. Im Bereich Provisioning Portal • Certificates können Sie die Datei hochladen. Klicken Sie dazu auf Request Certificate.

5 Signiertes Zertifikat herunterladenNach kurzer Wartezeit steht Ihnen dann Ihr Zertifikat im Provi-sioning Portal im Bereich Certificates zur Verfügung. Klicken Sie neben dem Zertifikat auf Download, um das Zertifikat he-runterzuladen. Sie erhalten eine .cer-Datei »developer_identity.cer«, die im nächsten Schritt noch in eine .p12-Datei umgewan-delt werden muss.

885

21.4 »Hello World«-iPhone-App mit AIR entwickeln

6 Umwandlung der developer_identity.cer in iphone_dev.p12

Speichern Sie die .cer-Datei zunächst in das bin-Verzeichnis von OpenSSL. Führen Sie dann im bin-Verzeichnis folgenden Befehl aus:

openssl x509 -in developer_identity.cer -inform DER

-out developer_identity.pem -outform PEM

Die Dateinamen müssen Sie gegebenenfalls entsprechend anpas-sen. Sollten Sie keine Fehlermeldung erhalten, ist alles in Ord-nung. Führen Sie dann folgenden Befehl aus:

openssl pkcs12 -export -inkey mykey.key -in

developer_identity.pem -out iphone_dev.p12

Geben Sie Ihr Passwort, das Sie bei der Erzeugung des Zertifikats angegeben haben, ein.

7 Fertig!Sollten Sie keine Fehlermeldung erhalten, ist der Prozess damit ab-geschlossen. Im bin-Verzeichnis von OpenSSL sollte sich die Datei »iphone_dev.p12« befinden, die Sie später in Flash zur Signierung Ihrer Anwendungen nutzen können. Erfahrungsgemäß funktio-niert der vorher genannte Prozess nicht beim ersten Mal. Sollten Sie Probleme bei der Erstellung des Zertifikats haben, können Sie eventuell versuchen, das Zertifikat über die Software »BirdKey« von SBA zu erstellen. Wir haben diese Software nicht verwendet, allerdings scheinen damit einige User mehr Erfolg zu haben.

F Abbildung 21.13Das Zertifikat wurde erzeugt.

886

Kapitel 21 AIR: Für mobile Geräte und den Desktop veröffentlichen

Gerät einrichten | Um eine Anwendung auf einem Testgerät in-stallieren zu können, müssen Sie das jeweilige Gerät zunächst im iOS Dev Center registrieren. Loggen Sie sich dazu in das iOS Dev Center ein, wechseln Sie in den Bereich iOS Provisioning Por-tal, und klicken Sie im linken Menü auf Devices. Klicken Sie dann auf Add Devices, um ein neues Gerät zu registrieren. Geben Sie im Feld Device Name den Bezeichner Ihres Geräts ein. Sie finden den Bezeichner Ihres iPhones, wenn Sie es mit iTunes verbinden. Wählen Sie Ihr Gerät in iTunes auf der linken Seite aus. Im Bereich Übersicht wird Ihnen der Name angezeigt. Klicken Sie auf das Feld Seriennummer, um sich die Device-ID anzeigen zu lassen (siehe Abbildung 21.14).

Sie können dann via (Strg)/(°)+(C) die Device-ID in die Zwische-nablage kopieren und im iOS Dev Center in das entsprechende Feld mit (Strg)/(°)+(V) einfügen. Klicken Sie auf Submit, nach-dem Sie beide Felder ausgefüllt haben, um das Gerät zu regist-rieren.

App-ID | Für jede Anwendung, die Sie erstellen möchten, be-nötigen Sie zunächst eine App-ID. Diese müssen Sie später beim Veröffentlichen in Flash angeben. Loggen Sie sich dazu zunächst in das iOS Dev Center ein, und wechseln Sie dann in den Bereich iOS Provisioning Portal. Klicken Sie dort im linken Menü auf App-ID, um eine neue App-ID anzulegen.

Eine App-ID besteht immer aus Ihrer Team-ID (App ID Pre-fix), gefolgt von einem Bundle Identifier (App ID Suffix), den Sie beliebig festlegen können. Gerade am Anfang werden Sie sehr viele kleine Testapplikationen erzeugen, und um nicht jedes Mal aufs Neue eine App-ID (und zugehöriges Provisioning-Profil) erzeugen zu müssen, können Sie daher auch * als Ihren Bundle Identifier verwenden. Das ist ein Platzhalter für »beliebig«. Wenn Sie die Textfelder in dem Formular ausgefüllt haben, klicken Sie anschließend auf Submit.

Ihre App-ID könnte nun z. B. »NKSMJ45FU9.*« lauten.

Abbildung 21.14 E

Geräteinformationen in iTunes 10

887

21.4 »Hello World«-iPhone-App mit AIR entwickeln

Provisioning-Profil | Damit Sie Ihre Anwendung kompilieren und auf Ihrem Gerät testen können, benötigen Sie ein sogenann-tes Provisioning­Profil. Das Profil wird beim Kompilieren der An-wendung von Flash benötigt. Sie müssen es zusätzlich auf Ihrem iPhone installieren, um eigene Anwendungen auf das Gerät ins-tallieren zu können.

Loggen Sie sich dazu zunächst in das iOS Dev Center ein, und wechseln Sie in den Bereich iOS Provisioning Portal. Klicken Sie dann links auf Provisioning und anschließend auf die Schalt-fläche New Profile. Füllen Sie die Formularfelder aus. Unter App-ID wählen Sie die zuvor erstellte App-ID aus. Klicken Sie dann auf Submit, um das Profil zu erstellen. Nach kurzer Warte-zeit sollte Ihr Provisioning-Profil im Bereich Provisioning zum Download bereitstehen. Laden Sie es daraufhin herunter.

Um das Provisioning-Profil auf Ihrem Gerät zu installieren, gehen Sie wie folgt vor: Öffnen Sie iTunes, und verbinden Sie Ihr Gerät damit. Klicken Sie im Menü auf Datei • Datei zur Media-thek hinzufügen, und wählen Sie Ihr Provisioning-Profil aus. Um zu überprüfen, ob das Provisioning-Profil in Ihre Mediathek aufgenommen wurde, können Sie den Vorgang wiederholen. Es sollte dann ein Hinweis erscheinen, dass sich das Profil bereits in der Mediathek befindet, und Sie werden gefragt, ob es ersetzt werden soll. Nachdem das Profil zu Ihrer Mediathek hinzugefügt wurde, müssen Sie das iPhone mit iTunes synchronisieren, damit das Profil auf das iPhone übertragen werden kann.

Im iPhone können Sie unter Einstellungen • Allgemein • Profile sehen, ob das Profil auf dem Gerät installiert wurde.

Distribution Provisioning ProfileSollten Sie eine Anwendung bei Apple einreichen, um diese im App Store verfügbar zu machen, benötigen Sie dafür ein sogenann-tes Distribution Provisioning Pro­file, das Sie auf dieselbe Art und Weise im iOS Dev Center unter Provisioning unter dem Reiter Distribution erstellen können.

F Abbildung 21.15Das Provisioning-Profil »Sample-profile« ist auf dem iPhone installiert.

888

Kapitel 21 AIR: Für mobile Geräte und den Desktop veröffentlichen

Veröffentlichen für das iPhone

In diesem Abschnitt möchten wir unsere HelloWorld-Anwen-dung aus der Schritt-für-Schritt-Anleitung für das iPhone veröf-fentlichen und direkt auf dem Gerät testen.

Damit Sie wissen, welche Einstellungen Sie beim Kompilieren vornehmen können, öffnen Sie zunächst Ihre FLA-Datei. Öffnen Sie dann über das Menü Datei • Air 3.2 for iOS Einstellungen.

Allgemein | Unter dem Reiter Allgemein (siehe Abbildung 21.16) finden Sie folgende Einstellungen:

� Ausgabedatei: Die Ausgabedatei mit der Dateierweiterung IPA ist die Datei, die Sie zum Testen auf Ihr iOS-Gerät und später auch an Apple übertragen.

� App-Name: Der Name der Anwendung, wie sie daraufhin auch auf Ihrem iOS-Gerät erscheint.

� Version: Dies ist die Versionsnummer der Anwendung. Wenn Sie später eine Anwendung in den App Store stellen, sollte diese Versionsnummer mit der Versionsnummer im App Store übereinstimmen.

� Seitenverhältnis: Hier können Sie festlegen, ob Ihre Anwen-dung standardmäßig im Hoch- oder im Querformat gestartet werden soll.

Abbildung 21.16 E

Der Reiter Allgemein im Überblick

889

21.4 »Hello World«-iPhone-App mit AIR entwickeln

� Vollbild: Im Normalfall sollten Sie diese Option aktivieren. Ist sie deaktiviert, nutzt die Anwendung nicht die volle Bild-schirmgröße, und grafische Elemente w erden skaliert (siehe Abbildung 21.17).

� Automatische Ausrichtung: In der Regel sollten Sie diese Option deaktivieren. Ist die Option aktiviert, wird Ihre Anw en-dung je nach Ausrichtung des Geräts im Hoch- oder Querfor-mat dargestellt. Beachten Sie dabei, dass Sie die Positionierung und Skalierung aller UI-Elemente dazu selbst innerhalb der Anwendung vornehmen müssen (siehe dazu auch Abbildung 21.18).

F Abbildung 21.17Links deaktiviertes, rechts akti-viertes Vollbild der Applikation »Tiny Memory«

F H Abbildung 21.18Links: Hochformat; rechts: die unveränderte Version im Quer format der Applikation »Tiny Memory«

890

Kapitel 21 AIR: Für mobile Geräte und den Desktop veröffentlichen

� Rendermodus: Belassen Sie die Einstellung auf Automatisch. Die Einstellung CPU sorgt dafür, dass Berechnungen an die CPU des Geräts übergeben werden. Sollten Sie eine grafiklas-tige Anwendung wie z. B. ein Spiel entwickeln, können Sie mit der Einstellung GPU die Berechnungen an den Grafikprozessor des Geräts delegieren. Wenn Sie eine 3D-Engine (Stage 3D, siehe Kapitel 23, »Ein Blick über den Tellerrand«) benutzen, stellen Sie den Modus auf Direkt.

� Gerät: Wählen Sie hier das Gerät aus, für das Sie die Anwen-dung entwickeln möchten.

� Auflösung: Hierbei haben Sie zwei Modi zur Auswahl: stan-dard und hoch. Im hoch-Modus entspricht jedes Pixel, das Sie aus der Applikation ansprechen, direkt einem Pixel eines hochauflösenden Bildschirms (Retina-Display), während im Standardmodus das Zeichnen eines Pixels das Zeichnen eines 2 × 2-Pixelblocks bewirkt. Die Applikation wird somit auf die doppelte Größe skaliert. Verwenden Sie den Standardmodus nur dann, wenn Sie sich nicht selbst um die verschiedenen Displaytypen und Auflösungen der Geräte kümmern möchten. Das ist zwar einfacher, grafisch aber meist nicht schön.

� Einbezogene Dateien: In diesem Bereich können Sie Dateien hinzufügen, die mit der Anwendung ausgeliefert werden sol-len. Standardmäßig finden Sie hier eine SWF-Datei und eine XML-Datei, die Metainformationen wie die Versionsnummer enthält. Manuell hinzufügen sollten Sie eine 640 × 960 Pixel große Datei [email protected] (für iPhones mit Retina­Display) und eine 320 × 480 Pixel große Default.png (für ältere iPhones), die jeweils beim Starten der Anwendung angezeigt wird. Sie sollten diese Dateien im Root-Verzeichnis Ihrer Anwendung und nicht in einem Unterverzeichnis anlegen.

Bereitstellung | Unter dem Reiter Bereitstellung stehen Ihnen die in Abbildung 21.19 dargestellten Einstellungen zur Verfügung.

� Zertifikat: Wählen Sie hier das p12-Zertifikat aus, das Sie zu-vor erstellt haben. Achten Sie darauf, dass Sie für den jewei-ligen Zweck das richtige Zertifikat auswählen. Zum Testen der Anwendung auf einem eigenen Gerät benötigen Sie ein ande-res Zertifikat als das zur Bereitstellung für den App Store.

� Kennwort: Geben Sie hier das Kennwort ein, das Sie bei der Zertifikatserstellung verwendet haben.

� Provisioning-Profil: Wählen Sie das erstellte Provisioning-Profil aus, und achten Sie dabei, wie auch beim Zertifikat selbst, auf die richtige Version.

Notwendige Komponenten installierenBei der Installation von Flash CS6 gibt es die optionale Komponente »AIR for Apple iOS Support«. Diese benötigen Sie, um für das iPhone zu veröffentlichen. Sollten Sie eine Fehlermeldung erhalten, starten Sie das Flash-Installations-programm, und installieren Sie diese Komponente nachträglich.

891

21.4 »Hello World«-iPhone-App mit AIR entwickeln

� App-ID: Tragen Sie hier die App-ID ein, die Sie zuvor im iOS Dev Center angelegt haben.

� iPhone-Bereitstellungstyp – Schnellveröffentlichung zum Gerätetesten: Verwenden Sie diese Einstellung, wenn Sie die Anwendung zum Testen auf Ihrem iOS-Gerät verwenden möchten.

� iPhone-Bereitstellungstyp – Schnellveröffentlichung zum Geräte-Debugging: Wählen Sie diese Einstellung, wenn Sie die Anwendung auf Ihrem iOS-Gerät zum Testen installieren und zudem den Flash Debugger nutzen möchten, um bei-spielsweise trace-Ausgaben zu kontrollieren. Sie können hier zusätzlich eine Netzwerkschnittstelle eingeben. Ihre Applika-tion verbindet sich dann automatisch mit dieser Adresse, um die Debugging-Session zu starten.

� iPhone-Bereitstellungstyp – Bereitstellung – Ad hoc: Möch-ten Sie Ihre Anwendung anderen für Beta-Testzwecke bereit-stellen, können Sie diese Option wählen, um bis zu 100 Be-nutzern Ihre Anwendung zu Testzwecken bereitzustellen. Sie müssen die Benutzer zusätzlich im iOS Dev Center registrieren.

� iPhone-Bereitstellungstyp – Bereitstellung – Apple App Store: Nachdem Sie Ihre Anwendung getestet haben, wählen Sie diese Option, um die Anwendung für die Bereitstellung in den App Store zu kompilieren.

F Abbildung 21.19Der Reiter Bereitstellung im Überblick

939

Index

Index^ 366- 360-- 361! 365!= 362!== 362.. 761@ 760* 360, 678*= 361/ 360/= 361& 366, 667&& 365% 360+ 360++ 361< 362<< 367<= 362== 362=== 362> 362>= 362>> 367| 366|| 365~ 3661 (Option) 3582 (Option) 3583D-Animationen 9273D-Bewegung 4373D-Drehungswerkzeug 106

Fluchtpunkt und Perspektive 108, 109

3D-Engines 9273D-Flip 4553D-Pinsel 80, 863DS Max 9283D-Versetzungswerkzeug 1078 (Option) 3589-teiliges Segmentraster 115,

539, 54016 (Option) 357, 35844,1 kHz 573$_FILES 799$_POST 865

A

a (HTML-Tag) 656, 684Abbremseffekt 247Abdunkeln 556Abmessung des Weichzeichners

620Abprallen 832abs 446Absatztext 252Abschluss 75Abschrägen 558Abspielgeschwindigkeit 166Abspielrichtung 154Abspielzeit 635Abstandsberechnung 432Abtastrate 574Abwärtskompatibilität 295acos 446ActionScript 335

Datentypen 348Editoren 466Ereignis­Listener 390Ereignisprozeduren 390Ereignisse 389Format 343, 344Funktionen 373Loader 396Modulo 360Operatoren 360Schleifen 368Typisierung 350Variablen 346Versionen 337Zeitleistensteuerung 376

ActionScript 1 338ActionScript 2 338ActionScript 3 339, 931ActionScript 3.0-Klasse 470ActionScript-Editor 339ActionScript-Entwicklungs-

umgebungen 911Activeden 524addChild 384addChildAt 384addController 691ADDED_TO_STAGE 396

addEventListener 527, 377, 390, 417

Addieren 557Addition 360Admin 701Adobe AIR 911Adobe Audition 578Adobe Exchange 50, 523Adobe Flash Catalyst 931Adobe Flex 929Adobe LiveCycle Data Services

930Adobe Media Encoder 611Adobe Media Player 613Adobe Soundbooth 578Adobe Sound Document 575ADPCM 576Aktionen 337Aktualisieren 577Aktualisierungen 51album 588align 675Alle einblenden 343allowFullScreen 631alpha 379, 414Alpha 69, 557Als Video für Mobilgeräte in SWF

zusammengefasst importieren 623

Amplitude 574Analoge Uhr 491anchorX 510anchorY 510Ändern der Videogröße 614An Hilfslinie ausrichten 121Animation 153, 413

3D­Bewegung 217Abspielrichtung 154beenden 427Beispiel Animation anlegen 167Beschleunigung 247Bildbezeichner 164Bild­für­Bild 166Geschwindigkeit ändern 174Inverse Kinematik 237Klassische Tweens 204kopieren 203loopen 427

940

Index

Posenanimation 247Sequenzen 452Skalierung 216Steuerungspunkt 248Szenen 163Timing 209umkehren 451Zeitleiste 153Zwiebelschaleneffekt 176

Ankathete 433Ankerpunkt

entfernen 101umwandeln 98

AnsichtAn Fenster anpassen 56Vergrößerung 56zentrieren 57

Anti-Aliasing 266antiAliasType 671AntiAliasType.ADVANCED 671AntiAliasType.NORMAL 671Anwendungsbereiche 28

Aktuelle Meldungen 29Animationen 28Benutzeroberflächen 29E­Learning 33Flash gegen HTML 5 32Präsentationen 29Spiele 30, 32Video­Anwendungen 32

Anzeigeklassen 378Anzeigeliste 378

Reihenfolge 384Reihenfolge ändern 386

Anzeigeobjekt 378, 413aus Speicher entfernen 385Eigenschaften 379, 380entfernen 383Ereignisse 394graphics 503hinzufügen 383Sichtbarkeit 386

Anzeigeobjektcontainer 378Apache 698API 338appendChild 774appendText 679Arbeitsfläche 55Arbeitsumgebung 45

laden 62speichern 62

ARGB 567Argumente 373Arkuskosinus 446Arkussinus 446Arkustangens 446Array 349

assoziativ 355Feldwerte 354indiziert 354Länge 355mehrdimensional 355Methoden 357sortieren 357sortieren (mehrdimensional,

assoziativ) 358typisiert 359Verkettung 356

Array.CASEINSENSITIVE 358Array.DESCENDING 357, 358Array.DESCENDING. 779Array.NUMERIC 357, 358, 779Array.RETURNINDEXEDARRAY

358Arrays 354artist 588AS3CoreLib 862ASC 744.asf 611asin 446as-Operator 353ASP 697Assets 539Assoziative Arrays 355Asteroids 839atan 446atan2 443, 446ATOM 766Attribute 736, 760AU 575Audacity 578Audio-CD 573Audio-Editor 578Audio einschließen 625Audio-Ereignis 575Audio-Player 601Audio-Signal 573Audio-Spur 622, 632Audio-Stream 575Audio Video Interleaved 611Auf (Zustand) 580Auf Ebenen verteilen 273

Aufhellen 556Auflösung 573Aufzählungszeichen 657Ausblenden 582Ausführungszeit 811Ausgabe-Fenster 346Ausgabeformat 613Ausgabegröße ändern 617Ausrichten an Pixeln 76Ausrichten TLF-Text 286Ausrichtung von Text 260Auswählbar 649Auswahlbereich ausblenden 343Auswählen

ähnliche Farben 102Auswahlwerkzeug 99Auszeichnungen 258

Fettdruck 259Kapitälchen 259Kursiv 259

autoAlpha 458Auto-Format 343, 344AUTO_INCREMENT 736Automatischer Import 478Automatischer Klassen-Import

913Automatischer Paket-Import 913Automatisch unterschneiden 263autoSize 671.avc 611.avi 611AVM 339AVM1Movie 382Away 3D 928Axialis Professional Screensaver

Producer 934

B

b (HTML-Tag) 656Back 453background 671backgroundAlpha 686backgroundColor 671, 686Backslashes 756

entfernen 756Bandbreiten-Profiler 323

Bild­für­Bild 324Download­Einstellungen 324

941

Index

Optimierung des Ladeverhaltens 324

Streaming­Grafik 324Barrierefreiheit 330Base64Encoder 862Basisklasse 498, 491, 382, 387Batch-Verfahren 614Baumpinsel 81, 91BCC 729Bearbeitbar 649Bearbeitbarer Text 550beginFill 512beginGradientFill 519Begrenzungsrahmen 131, 823Begrüßungsbildschirm 45Benutzerdefiniert 547, 582Benutzerdefinierte Preloader-

Schleife 649Benutzerdefiniertes Anti-Aliasing

272Benutzeroberfläche 523Beschleunigung 183, 211, 247,

422Abbremseffekt 247abbremsen 211Beispiel 213Beschleunigungstypen 247Bewegungs­Editor 198Stärke 247verwenden 199

BEVEL 506bevelFilter 459BevelFilter 563Bewegung 217, 424

im Raum 217Linear 424Nicht linear 424

Bewegungs-Editor 190Anzeige steuern 190Beispiel 195Beispiel Beschleunigung 199Beschleunigung 198, 199Beschleunigungstypen 198Eckpunkt 194Glättungspunkt 194Schlüsselbild hinzufügen 193Umgang mit Graphen 192Umgang mit Zeitleiste 192verwenden 195

Bewegungspfad 187, 208Beispiel 187

drehen 186eigenen Pfad erstellen 189erstellen 187Umformen 185

Bewegungsrichtungen 422Bewegungs-Tween 178, 181

Animation an Pfad erstellen 187Beispiel 181Eigenschaften 184Eigenschaften animieren 179erstellen 179, 182Geschwindigkeit 186Optionen 183Pfad 184Pfad drehen 186Pfad Umformung 185Tweenlänge ändern 187verlängern 182

Bewegungs-Tween EigenschaftenBeschleunigung 183Drehung 183Instanzname 183Optionen 184Pfad 184

Bewegungsvoreinstellungen 202bezier 459Bézierkurven 510bezierThrough 459Bibliothek 137

bereinigen 140Elemente löschen 137externe 144Klassen­Instanzen erzeugen 387Ordner 139Ordnung und Struktur 138

BIGINT 737Bildbezeichner 163, 164

ansteuern 165Typen 165zuweisen 165

Bildebene 217Rotation 217

Bildebene Drehung 217Bildebenen 549, 553Bild

Ansteuerung 165gleichzeitig bearbeiten 177kopieren 169mehrere gleichzeitig bearbeiten

177Schlüsselbilder 159

Bild-für-Bild-Animation 166Anwendungsbereiche 166Beispiel 167Bildrate 166Bildrate festlegen 167in MovieClip verschachteln 172

Bildlauf 681Bildrate 166

richtige Bildrate 166Timing 209

Bildschirmleseprogramme 330Bildschirmschoner 934Binär 365Binärsystem 365BINARY 708Bindungswerkzeug 248Bitmap 381

Beispiel in Vektoren umwandeln 221

Dateigröße 220Eigenschaften 274in Vektor umwandeln 220Komprimierung 546mit ActionScript 565nachzeichnen 220

bitmapData 565BitmapData-Klasse 566Bitmap-Eigenschaften 546Bitmap-Filter 557, 561

animieren 558Bitmap-Füllung 113Bitmapgröße berechnen 550Bitmap in Vektoren umwandeln

102Bitmap-Klasse 565Bitmap-Linien 509Bitmap-Text 273Bitrate 577Bitverschiebung 367Bitweise 365Bleistift 76Blender 928blendMode 561BlendMode.ADD 562BlendMode.ALPHA 562BlendMode.DARKEN 562BlendMode.DIFFERENCE 562BlendMode.ERASE 562BlendMode.HARDLIGHT 562BlendMode.INVERT 562BlendMode.LAYER 562

942

Index

BlendMode.LIGHTEN 562BlendMode.MULTIPLY 562BlendMode.NORMAL 562BlendMode.OVERLAY 562BlendMode.SCREEN 562BlendMode.SHADER 562BlendMode.SUBTRACT 562Blitzpinsel 81, 89blockindent 657blockIndent 675Blocksatz 261Blocksatz TLF-Text 286Blumenpinsel 81, 88blurFilter 459BlurFilter 563BMP 545Bogenmaß 431bold 538, 675Bones

Darstellung 241Eigenschaften 240Gelenk 241Hierarchie 239Position 241Steuerungspunkt 248Verbindung entfernen 249Verbindung hinzufügen 250

Bone-Werkzeug 239Boolean 349border 671borderColor 672Bounce 453Bouncing 832, 833BoundingBox 131br (HTML-Tag) 656, 685Breakpoints 405browse 789, 797, 800Browser-Caching 712

verhindern 712Browser-Cookie 835bufferLength 635bufferTime 635Bühne 55, 378

Größe einstellen 57Button 527buttonMode 860Button-Sound 580byteArray 604ByteArray 604bytesLoaded 601, 634, 635, 797bytesTotal 601, 634, 635, 797

C

Cache 712Caching verhindern 762Call-Stack 405cancel 794, 800CANCEL 801caps 506CapsStyle.NONE 506CapsStyle.ROUND 506CapsStyle.SQUARE 506CASEINSENSITIVE 358catch 848Cc 729CDATA 771CHANGE 529CHAR 737Charakteranimation 243chmod 717Cinema 4D 928Circ 453clear 505, 837CLICK 394, 822Click to Flash 338client 630, 635, 637, 641close 588, 601, 633CMS 797Code Completion 912, 916Codefragmente 341, 343Codehinweis zeigen 343Coderedundanz 498Collision Detection 823color 538, 675, 686colorMatrixFilter 459ColorMatrixFilter 563colorTransform 460columnCount 686columnGap 687columnWidth 687comment 588comments 764Compiler-Fehler 403COMPLETE 398, 602, 790, 794,

801Component Assets 540computeSpectrum 604concat 356connect 629ContainerController 691Container und Fluss 288, 651

contains 777contentLoaderInfo 397controlX 510controlY 510ConvolutionFilter 563Cookie 835cos 446createGradientBox 520CreateJS 899

Einschränkungen 900HTML5­Website 904Installation 901

creationDate 803Creative Cloud 911Cross-Domain-Policy 591, 762,

763CSS 674, 686Cubic 453Cue-Point-Name 636Cue-Points 636

Ereignis 638Navigation 641, 642

currentFPS 635currentTarget 390, 666curveTo 510CustomEase 453Custom Ease Builder 453

D

Darüber (Zustand) 580data 534, 666, 708, 725, 837DataEvent.UPLOAD_COMPLETE_

DATA 803dataFormat 666, 708Data Modelling 733date 706Date 712DATE 737Dateiendungen überprüfen 803Dateigröße

analysieren 299Dateirechte 717, 799Datenbank erstellen 734Datenbank-Login 742Daten lokal speichern 838Datensatz 739

aktualisieren 758einfügen 739

943

Index

Datentypermitteln 351Überprüfung 756

Datentyp 346, 348, 349, 703, 736, 774überprüfen 383

Datentypkonflikt 351Datentypumwandlung 351DATETIME 737Datum 706Debuggen 404Debugging 403Debug-Konsole 404Debug-Optionen 343DECIMAL 737Decompiler 299default 364defaultTextFormat 672, 674Dekorpinsel 81, 87Deko-Werkzeug 80

3D­Pinsel 86Baumpinsel 91Blitzpinsel 89Blumenpinsel 88Dekorpinsel 87Feuerpinsel 87Flammenpinsel 88Gebäudepinsel 86Partikelsystem 89Rankenfüllung 81Rasterfüllung 82Rauchanimation 90Symmetriepinsel 84

delay 849delayedCall 450delete 776DESC 744DESCENDING 357, 358DF3 677DF4 677Diagramme 930die 743, 866Differenz 557Digital Video 611direction 687DisplacementMapFilter 563DisplayList 378DisplayObject 379, 382DisplayObjectContainer 379,

382dispose 569, 829

DISTINCT 745div 684Division 360Dokumenteigenschaften 57Dokumentfenster

Ansicht vergrößern/verkleinern 56

Ansicht verschieben 56Dokumentklasse 488Doppelklick 394Doppelte Variablendefinition 411DOUBLE 737DOUBLE_CLICK 394, 822do-while 370download 794, 800Download 793Download-Einstellungen 324Download simulieren 324Drag & Drop 342, 821draw 829drawCircle 518drawEllipse 519Drawing-API 503drawRect 512drawRoundRect 518drawSpectrum 607Dreamweaver 665Drehung 183Dreieck 432dropShadowFilter 460DropShadowFilter 563Durchschussmodell 649.dv 611.dvi 611dynamic 471Dynamische Klasse 471Dynamischer Text 647Dynamische Textfelder 255, 650Dynamische Variablen 350

E

E (Konstante) 447E4X 759easeIn 454easeInOut 454easeOut 454Easing 423, 425, 453Easing Equations 453

Ebene 556bei Veröffentlichung ignorieren

158Bewegungs­Tween 179Ebenenordner erstellen 156in Führungsebene umwandeln

207löschen 155Maske zuweisen 227mit Ebenen arbeiten 154Name ändern 155Ordner 156Posenebene 243Reihenfolge 155Rotation 217sperren 158steuern 157Tween 179

EbenenArbeiten 154Darstellungsoptionen 162Ebenenmodell 154Negativbeispiel 155Ordner steuern 156

echo 704, 746Echte Kursive 259Eckpunkt 194Eckrundungen 93, 518ECMA 337ECMAScript 759Effekt 581Eigene Klassenpfade 477Eigene Pakete 479Eigenschaften 474

Bewegungs­Tween 184Einbetten 652Einbettung

in HTML 301mit dem SWFObject 309

Einblenden 582Eingabefokus 661Eingabehilfe

Symbole 331Eingabehilfen 330Eingabetextfelder 650Eingebettete Schriften 272Eingebettete Videos 625Einzeilig 651Elastic 453Ellipsenförmige Bewegung 441Ellipsengrundform 96

944

Index

Ellipsenwerkzeug 95Ellipse zeichnen 519E-Mail 727E-Mail-Header-Injection 728E-Mail-Link 265E-Mail-Verknüpfung 264embedFonts 672, 678EMBED-Tag 310endFill 512Endlose Ausführungen 376Endlosschleifen 369, 705Endloswiederholungen 589ENTER_FRAME 396, 415Entwicklungsumgebung 25, 46

anpassen 58Eolas-Patentverletzung 310Equalizer 605Ereignis 389, 414, 415, 579Ereignis-Listener 390, 415, 800

entfernen 392Ereignisprozeduren 390, 415Error 403Error Highlighting 912Erweiterung 899Escape-Sequenzen 667event 637Event.ADDED_TO_STAGE 396Event.CANCEL 801Event.CHANGE 529Event.COMPLETE 397, 398, 602,

790, 794, 801Event.ENTER_FRAME 396, 415Event.ID3 588, 602Event.INIT 397, 398Event.MOUSE_LEAVE 821Event.OPEN 398, 802Event.REMOVED_FROM_STAGE

396Event.SELECT 790, 797, 802Event.SOUND_COMPLETE 590,

603Event.UNLOAD 399exp 446Experten-Modus 340Expo 453Export 325

Bild exportieren 328Film exportieren 329

Exporteinstellungen 614, 619Exportformate 329Export für ActionScript 387, 586

Export für gemeinsame Nutzung zur Laufzeit 144, 678

ExportierenHTML5 899

extends 499Externe Bibliothek 145

öffnen 144Externe Videos 627

mit Playback­Komponente laden 623

F

F4V 612FadeOut 426Fading-Animation 429Fallunterscheidung 361false 349FAQ 313, 810Farbe anpassen 558Farbeimerwerkzeug 110

Füllung sperren 111Lückengröße 110

Farbeinstellungen 219Farbharmonieregel 71Farbpalette bearbeiten 69Farbschema

bearbeiten 71erstellen 71

Farbton 218, 558Farbverlauf 112

Farbe einfügen 112Farbe entfernen 113linear 112, 228radial 113transparente Farbe 229über mehrere Formen 111

Farbverlauf – Geschliffen 558Farbverlauf – Glühen 558Farbverlaufsfüllungen 519Farbverlaufslinien 519Farbverlaufwerkzeug 114FDT 914Feder 247Feder aktivieren 247Feed 766Fehlende Schriften ersetzen 278Fehlerbehebung 477Fehlercode

443 7021061 4111067 4101084 4111100 4111120 410, 4111151 4111170 4112101 708, 7552174 798

Fehlermeldungen 410Fehlersuche 403Fehlerursachen 410Feld 349, 736Feldwerte 354Fenster

maximieren 58minimieren 58schließen 58verankern 59Werkzeuge 52

Fenstermodus Veröffentlichung 304

Feueranimation 81, 87FFTMode 604FileFilter 798fileList 814File Packager 610FileReference 789

Dateiendungen 803Download 793Eigenschaften 803Ereignisse 800Fehlerursachen 810Fortschrittsanzeige 795Methoden 799Upload 797, 810

FileReference.creationDate 803FileReferenceList 814FileReference.modificationDate

803FileReference.name 803FileReference.size 803FileReference.type 803FileZilla 788Film komprimieren 298Filter 555, 557filters 563final 499Fixierung anwenden/aufheben

480

945

Index

Flaches Bitmap 554Flaches Bitmap-Bild 549Flammenpinsel 81, 88Flash Builder 930Flash Catalyst 931Flash Components 524Flash-Cookie 835Flash-Datei (ActionScript 3.0) 346Flash Debug Player 404FlashDevelop 911Flash Development Tools 914flash.display 378Flash-Ebenen 552Flash-Export 294

Ausgeblendete Ebenen exportieren 298

Debugging erlauben 299Film komprimieren 298Gerätesound exportieren 297Sicherheit bei lokaler Wieder­

gabe 299Skript­Höchstzeit 301Soundeinstellungen übergehen

297Trace­Aktionen übergehen 299Version 294Vor Import schützen 299

Flash-FilmBildrate 57Größe 57Hintergrundfarbe 57testen 50transparent 322

Flash gegen HTML5 32Flash-Historie 25Flash-JavaScript 50Flashloaded 524Flash Media Server 610, 623Flash Player

Kontextmenü 321Version 294

Flash-Player-Verbreitung 338FlashVars 313

einsetzen 315FlashVars Zugriff aus Flash 314Flash-Version

aktivieren 51deaktivieren 51feststellen 302

Flash Video 611Flash-Video-Formate 611

fl.controls 526Flex 929Flex Builder 930Flex-Charting-Komponenten 930Flex SDK 912Fließkommazahl 737FLOAT 737floor 446, 835flowComposer 691fl.transitions 448Fluchtpunkt 109flush 837.flv 611FLV-Format 611FLV in SWF einbetten und in

Zeitleiste abspielen 623FLV-Media Player 613FLV Player 613FocusEvent.FOCUS_IN 662FocusEvent.FOCUS_OUT 662FOCUS_IN 662FOCUS_OUT 662Fokus 662Follow TCP Stream 719font 538, 675, 678Font 671, 678font color 656font face 657fontFamily 687fontName 678font size 657fontSize 687fontStyle 687fontWeight 687for 370, 389, 705foreach 705for-each-in 372for-in 371format 686Formatierungseinstellungen

TLF-Text 281FormatValue.AUTO 686FormatValue.INHERIT 686Formen 503

Arten 68Formmarken 223

einsetzen 223entfernen 224Reihenfolge 224

Form-Tween 220Formmarken einsetzen 223

Foto (JPEG) 546Fourier-Transformation 604frame 460frameLabel 460Freihandwerkzeug 76

Begradigen 76Glätten 76

Frei-transformieren-Werkzeug 105

Frequenz 574from 450From 729FROM 744FTP-Zugang 622Führungsebene 205Füllfarbe 68, 77Fülltyp 519Füllung 512

Strichlinie hinzufügen 110Funktionen 373, 705

endlose Ausführungen 376rekursive 376

Funktionsargumente 373Funktionsparameter 373FXG 554

G

Gallery 529Games 819Ganzzahl 348Gapless-Playback 591GarageBand 578Garbage Collector 385, 428Gästebuch 748Gaußscher Weichzeichner 619Gebäudepinsel 81, 86Gegenkathete 433Geltungsbereich 353

Dokumentklasse 489Gemeinsame Nutzung 576, 678Gemeinsam genutzte Bibliothek

142genre 588Geometrie 430Geräteschriftarten 267, 652, 676

Mac 268Maskierung 268Vorteil 268

946

Index

Gerätesound 576Geschichte von Flash 25Geschwindigkeit 186, 422

ändern 174GET 715getBounds 826getChildAt 382getChildByName 383getChildIndex 385getLineText 679getLocal 837getPixel 567getPixel32 569getPixels 569Getter 496getTime 712getTimer 834getVector 569GIF 396, 545GIF-Export 306Glättungspunkt 194Gleich 362glowFilter 460GlowFilter 563Glühen 558Golem.de 766gotoAndPlay 377gotoAndStop 377GradientBevelFilter 563GradientGlowFilter 563GradientType.LINEAR 519GradientType.RADIAL 519Gradmaß 431Grafikaustausch-Format 554graphics 503Größe durch Skalieren anpassen

616Größer als 362Größer gleich 362Groß-/Kleinschreibung TLF-Text

282groupName 530Grundfarbe 555Grundlinienverschiebung TLF-Text

286Gruppierung

aufheben 118GTween 449

H

H.264 612Haarlinie 75Hacker 855Haltepunkte 405Hardwarebeschleunigung 300Hartes Licht 557Hashfunktion 862Hashwerte 864Header-Injection 728height 379, 413, 414, 670Helligkeit 218, 558hexColors 461hide 842Hierarchie 378Highscore 855Highscore-Sicherheit 861Hilfe 343Hilfslinie 120

anzeigen 121ausrichten 121bearbeiten 121entfernen 121sperren 121

Hilfswerkzeuge 1159­teiliges Segmentraster 115Handwerkzeug 118Hilfslinien 120Raster 122Zoomwerkzeug 119

Hineinspringen 406Hintergrundfarbe 57hitTest 823, 825hitTestObject 823, 846, 848hitTestPoint 823, 824HORIZONTAL 505hspace 657HTML

Variablen übergeben 315HTML5 32

exportieren 899gegen Flash 32

HTML5-Website 903HTML-Absatz 657HTML-Export 301HTML-Formatierungen 655HTML-Ladeverhalten 323HTML-Tags 656htmlText 654, 672

HTML-Textfelder 655HTTP 609, 698

GET 715POST 716POST­/GET Überwachung 719

HTTP Dynamic Streaming 609HttpFox 719HTTP-Methode 715, 716HTTPS 728HTTP_STATUS 800, 802HTTPStatusEvent.HTTP_STATUS

800HTTPSTATUSEvent.HTTP_STATUS

802Hülle bearbeiten 582Hypertext Preprocessor 697Hypotenuse 433

I

i (HTML-Tag) 656id3 601ID3 588, 602ID3-Format 588if 362, 703if-else 363if-else-if 363ignoreComments 763ignoreWhitespace 764Illustrator-Import 551Im Code zusammengeführt 649img 657, 685import 477Importieren 578Importierte JPEG-Daten

verwenden 546In Bibliothek importieren 545In Bühne importieren 545include 743indent 657, 675Index 736Index-Reihenfolge 384Indizierte Arrays 354Inheritance 498INIT 398Inkompatibilitätsbericht 552In-Punkt 618INSERT 752Instantiierung 469

947

Index

InstantStorm 935Instanz 126

auf Bühne platzieren 624Instanzeigenschaft 123, 126, 486Instanzmitglied 485Instanzname 183, 525, 416In Symbol konvertieren 125int 348INT 737Integer 348InteractiveObject 382, 670, 819Interaktion 819internal 483, 484, 490Internetadresse mit Text

verknüpfen 264Internet Explorer 7 310int.MAX_VALUE 590Inverse Kinematik 237

Beispiel 243Beschleunigung 247Bindungswerkzeug 248Bones Eigenschaften 240Bone­Werkzeug 239mit ActionScript nutzen 243Pose einfügen 245Posenanimation 247Posenebene 239Skelett­Animation 242Skelett Hierarchie 240Steuerungspunkte ausrichten

250Verbindung entfernen 249Verbindung hinzufügen 250

IO_ERROR 398, 588, 602, 630, 708, 800, 802

IOErrorEvent.IO_ERROR 398, 588, 602, 630, 800, 802

is 383isset 727italic 538, 675item 764

J

Japanisch 684join 356joints 506JointStyle.BEVEL 506JointStyle.MITER 506

JointStyle.ROUND 506JPEG 396, 546JPEG-Deblocking 548JPEG-Export 308JSFL-Format 50JumpEye Components 524

K

Kanal 576Kantenglättung 266Kapitälchen 259Kaskade 686Kennwort 651kerning 675, 687Kerning 261KeyboardEvent 820KeyboardEvent.KEY_DOWN

395, 819KeyboardEvent.KEY_UP 395,

819keyCode 820KEY_DOWN 395, 819KEY_UP 395, 819kill 451killDelayedCallsTo 451killTweensOf 450, 451Kilohertz 574Kinematik 237Kinsoku Shori Type 649Klasse 469

aus Bibliothek 387dynamische 471erstellen 473, 481mit Symbol verknüpfen 490

Klassenbezeichner 471Klassenmitglieder 485Klassenpfad 476, 479Klassischer Text 647Klassischer Text vs. TLF-Text 279Klassische Texterstellung 251Klassische Tweens 204

an Pfad ausrichten 205, 206Beispiel 206Beispiel Abbremsung 210Beispiel Beschleunigung 210,

213erstellen 204Führungsebene 205

in Führungsebene umwandeln 207

kein Bewegungspfad 204Pfad hinzufügen 205Schlüsselbilder einfügen 207Timing 209

Kleiner als 362Kleiner gleich 362Kodierung 613Kollation 735Kollisionserkennung 823

Begrenzungsrahmen 823pixelbasiert 825pixelbasiert (transformiert) 828positionsbasiert 831punktbasiert 824

Kommagetrennt 357Kommentarblock anwenden 343Kommentare 619, 703, 763

entfernen 343Kommentarfunktionen 345Komponente 523

Eigenschaften 527Ereignisse 528Methoden 527Typ anpassen 537UIScrollBar 681Video­Playback 623

Komponentenparameter 524Komprimierung 546, 576Konstruktor 471Kontaktformular 720Kontextmenü 51Kontrast 558Kontrolle des Ladevorgangs 397Konturansicht 158, 177Konturformat 677Koordinatensystem 430Kosinus 433Kreisbewegung 441Kreiszahl 431, 447Kreis zeichnen 95, 518Kryptografie 862Kuler-Bedienfeld 71Kurvensegment 98Kurven zeichnen 510Kurzschreibweise 361, 365

948

Index

L

label 530Label 530Ladeverhalten von Flash-Filmen

322Lame 591Länge/Set 736Lasso

Auswahl abschließen 102Lassowerkzeug 101Lateinisch einfach 654latin1_german1_ci 735Laufweite 689Laufzeitfehler 403Laufzeitumgebung 871Lautsprecher 573Lautstärke 574, 596, 633Lautstärkeregler 633Layout

Spaltenbreite anpassen 62Zeilenhöhe anpassen 62

leading 657, 675Lebenspunkte 850leftMargin 675leftPeak 602leftToLeft 603leftToRight 603Leistung von Schleifen 371length 355, 601, 672, 764Leserichtung 260letterSpacing 538, 675li 657Ligaturen 283Lightwave 3D 928Lineal 119

anzeigen 120Linear 453LINEAR 519Linearer Farbverlauf 112lineBitmapStyle 509lineBreak 687lineGradientStyle 519lineHeight 687LineScaleMode.HORIZONTAL

505LineScaleMode.NONE 505LineScaleMode.NORMAL 505LineScaleMode.VERTICAL 505lineStyle 504lineThrough 687

lineTo 504Linie

gerade Linie erzeugen 98Kurve erzeugen 98verbinden 75zeichnen 504

Linienenden 506Liniensegment 98Linienwerkzeug 72Linker Kanal 582List 528ListEvent 783Live Error Highlighting 915Live-Vorschau 524LN2 447LN10 447load 397, 586, 587, 601, 718,

762, 789, 800Loader 381, 396log 446LOG2E 448LOG10E 447Login 742Lokaler Geltungsbereich 353Lokaler Speicher 836Lokaler Video-Player 613Lokaler Webserver 699Lokale Speicherung 792LONGTEXT 737Loopen 427loose typing 350Löschen 481, 557Lose Typisierung 349

M

.m1v 611

.m2p 611

.m2t 611

.m2ts 611

.m4v 611mail 727MAMP 699Manueller Zeilenumbruch 658Masken 225Maskenebene 225, 227

Farbe 226Maskierung von Geräteschriften

268

Math.abs 446Math.acos 446Math.asin 446Math.atan 446Math.atan2 443, 446Math.ceil 446Math.cos 446Math.E 447Math.exp 446Math.floor 446Math.LN2 447Math.LN10 447Math.log 446Math.LOG2E 448Math.LOG10E 447Math.max 447Math.min 447Math.PI 431, 447Math.pow 447Math.random 447Math.round 447Math.sin 447Math.sqrt 433, 447Math.SQRT1_2 448Math.SQRT2 448Math.tan 447Matrix 520Matrix für Farbverläufe 520Maus 382, 395, 819

Ereignisse 822, 823Mausrad 821Mausrichtung 444Maussteuerung 820Mauszeiger

ausblenden 842einblenden 854

max 447maxChars 672max_execution_time 811Maximale Zeichenanzahl 651max_input_time 811MAX_VALUE 590Maya 928MD5 862MEDIUMINT 737MEDIUMTEXT 737Mehrdimensionale Arrays 355Mehrere Argumente 374Mehrspaltiger Text 692Mehrzeilig 651memory_limit 811

949

Index

MenüAnsicht 48Bearbeiten 48Befehle 49Datei 47Debuggen 50Einfügen 49Fenster 51Hilfe 51Modifizieren 49Steuerung 50Text 49Zeitleiste 48

Menüleiste 47Metadaten 621method 718Methoden 475Microsoft SQL Server 732min 447MinimalComps 523Minute 492Mischfarbe 555Mischmodi 555, 561MITER 506Mitglieder 485mitterLimit 506modificationDate 803Modulo 360Mojikumi 649MonsterDebugger 407MorphShape 382MOUSE_DOWN 394, 821, 822MouseEvent 390MouseEvent.CLICK 394, 822MouseEvent.DOUBLE_CLICK

394, 822MouseEvent.MOUSE_DOWN

394, 821, 822MouseEvent.MOUSE_MOVE

395, 418, 822MouseEvent.MOUSE_UP 395,

822MouseEvent.MOUSE_WHEEL

821, 823MouseEvent.ROLL_OUT 395,

823MouseEvent.ROLL_OVER 395,

823MOUSE_LEAVE 821MOUSE_MOVE 395, 418, 822Mouse.show 854

MOUSE_UP 395, 822MOUSE_WHEEL 821, 823.mov 611moveTo 510MovieClip 349, 381

Bild­für­Bild­Animation 172dynamische Klasse 844Registrierung ändern 132Tween erstellen 204verschachteln 231Vorteile 231

MP3 575, 576, 591.mp4 611MPEG 611MPEG 4 611.mpg 611multiline 672Multiplikation 360Multiplizieren 556MVC 683MXML 931_myindex_29 55_myindex_59 63_myindex_98 224_myindex_116 358_myindex_117 358MySQL 697, 732

Daten an Flash übergeben 745Datenbank erstellen 734Datenbanksätze einfügen 752Datenbankverbindung herstellen

743Datentypen 736Felder bearbeiten 738Gästebuch 748phpMyAdmin 734Sicherheit 755Tabellen erstellen 735Tabellen exportieren 739Tabellen importieren 741

mysql_connect 743, 752mysql_fetch_array 745mysql_num_rows 745mysql_query 744, 752mysql_real_escape_string 756mysql_select_db 743, 752MySQL Workbench 732

N

\n 658Nach links 582NACH LINKS 367Nach rechts 582NACH RECHTS 367name 379, 383, 637, 672, 793,

803Namenskonflikte 476Namespace 411NaN 352Nativ 759navigateToURL 793navigation 637Navigation 399Negativ multiplizieren 556NetConnection 629NET_STATUS 630NetStatusEvent.NET_STATUS 630NetStream 629

Eigenschaften 634Ereignisse 630

Neue Datei 481Neuer Ordner 481Neues Projekt 480new 472nextFrame 377Näherungswerte 427NICHT 366NONE 505, 506Normal 556NORMAL 505NOT 365Notepad 665Notepad++ 665null 347, 385, 474, 475, 563Null 736Number 348NUMERIC 357, 358Numerisch sortieren 357numLines 672Nur Flash – Vollbild zulassen 632Nur zum Lesen 649

950

Index

O

Obfuscator 868Object 349OBJECT-Tag 310Objekte 468

anordnen 117erstellen 473gruppieren 117zählen 487

Objektorientierte Programmie-rung 467

Objektzeichnung 68ODER 365, 366Ohne 582ol 657onCompleteParams 455onCuePoint 637onMetaData 641onReverseComplete 453onReverseCompleteParams 455onUpdateParams 455OPEN 398, 802opendir 813Operatoren 360, 703

arithmetisch 360bitweise 365einfach 360is 383logisch 364Vergleich 361

OPML 766Optimal 584Oracle Database 732ORDER BY 744Ordner 156Out-Punkt 618override 501overSkin 541Overwrite 452

P

p (HTML-Tag) 657, 684package 471paddingBottom 688paddingLeft 688paddingRight 688paddingTop 688

Paket-Pfad 471, 472, 476pan 603Papervision 3D 928ParagraphElement 690paragraphEndIndent 688paragraphSpaceAfter 688paragraphSpaceBefore 688paragraphStartIndent 688parameter 637Parameter 373Parameter (Standardwerte) 375Parameter (unbekannte Anzahl)

375parent 376, 380Partikelsystem 81, 89Passwort 651pause 633Perian 613Perl 697Pfad 184, 554

Ankerpunkte entfernen 98Ankerpunkte hinzufügen 98Bewegungs­Tween 184schließen 95, 98Umformung 185

Photoshop-Import 548.php 698PHP 697

Daten senden 707Daten senden und empfangen

715Datentypen 703Datums­ und Zeitfunktion 706Fallentscheidung 703for 705foreach 705Funktionen 705Gästebuch 748if 703Kontakformular 720Operatoren 703php.ini 811serverseitiges Datum und Zeit

712Sicherheit 728Sprachelemente und Syntax 702Stringverkettung 703switch 704Upload 799Variablen 702Verzeichnis auslesen 812

Voraussetzungen 698while 704

.php4 698phpinfo 698phpMyAdmin 734PHP und MySQL 742Pi 431, 447Pinselmodus 77Pinselwerkzeug 77

Füllfarbe 77Glätten 77

Pipette 111Pixel auslesen 567Pixelbasierte Kollisionserkennung

825Pixelfont 275

Positionierung 276Regeln 275Schriftgröße 276Textausrichtung 276Textauszeichnung 276Wann Sie verzichten sollten 277

Pixelgrafik 27pixelHinting 505Pixel setzen 569pixelSnapping 565PixelSnapping.ALWAYS 565PixelSnapping.AUTO 566PixelSnapping.NEVER 565Pixel und Vektoren 27play 587, 601, 633, 841Player 25PNG 396, 546PNG-Export 308Polygon 97Polysternwerkzeug 97pop 356Port 80 702Ports 702Pose einfügen 245Posenanimation 247Posenebene 239position 594, 602Positionsbasierte Kollisions-

erkennung 831POST 716, 811PostgreSQL 732post_max_size 811pow 447preg_replace 729Preloader 323, 396, 398, 795,

808

951

Index

Preloader-SWF 649prependChild 775prevFrame 377private 484Private Browsing 836Privater Modus 836PROGRESS 399, 589, 602, 794,

802ProgressEvent.PROGRESS 399,

589, 602, 794, 802Progressiver Download 590, 609Projekt-Fenster 480Projektor 25protected 484ProTools 578Proxy 770public 474, 484Punktsyntax 528Punkttext 251push 356Pythagoras 432Python 697

Q

.qt 611Quad 454Quadratwurzel 447, 448Qualität 577Quart 454Quellpfad 482

Filmbasiert 482Global 483

Quickfixes 916QuickTime 611Quick-View-Outline 916Quint 454

R

RADIAL 519Radialer Farbverlauf 113Radiant 431Radiergummi 91

Form 92Größe 92

RadioButton 530

random 447Rankenfüllung 80, 81Raster 122

bearbeiten 122einblenden 99

Rasterfüllung 80, 82Rastergrafik 27, 545Rasterlinie verschieben 117Ratios 519Rauchanimation 81, 90RAW 576readdir 813readFloat 607REAL 737Rechteck

mit abgerundeten Ecken 518ohne Außenlinie 93zeichnen 512

Rechteckgrundform 94Rechteckwerkzeug 93Rechter Kanal 582Rechtwinkliges Dreieck 432Red5 610Refactoring 914, 916register_globals 716Registrierung eines MovieClips

ändern 132Registrierungspunkt 131Reihenfolge Ebene 155Rekursive Funktionen 376Remote-Debug 406Remote-Debugging 299removeAll 788removeChild 385removeChildAt 385REMOVED_FROM_STAGE 396removeEventListener 527, 392,

820removeTint 461Rename 914repeat 509replaceText 679restrict 673Restwert 360resume 633RETURNINDEXEDARRAY 358reverse 356, 454Rhino 3D 928rightmargin 657rightMargin 675rightPeak 603

rightToLeft 603rightToRight 603ROLL_OUT 395, 823ROLL_OVER 395, 823root 376rotation 380, 414Rotation 217, 431

Bildebene 217im Raum 217

rotationX 380, 414rotationY 380, 414rotationZ 380, 414round 447ROUND 506RSS 766RSS-Feed

lesen 766RTMP 610Ruby 697Rückgabewert 476, 373, 469,

374Runtime Shared Library 648

S

Samplingrate 574, 576, 604Samplingtiefe 574, 576Sandy 3D 928sans 267Sättigung 558save 793, 800scaleMode 505.savers 934scaleX 380, 414scaleY 380, 414scaleZ 380, 414Schallwellen 573Schaltfläche 132

Aktiv 133Auf 133Darüber 133erstellen 133Gedrückt 133

Schlagschatten 558Schleife 368, 580

Leistungsvergleich 371Schlüsselbild 159

Darstellungsweise 161einfügen 160

952

Index

kopieren 160, 169leer 160löschen 160, 170Posenebene 243verschieben 160

Schneeflockensimulation 463Schrift

Beispiel Geräteschriften maskieren 268

Darstellung 266eingebettete Schriften 272Feintuning 272Geräteschriftarten 267Pixelfonts 275

Schriftarteinbettung 676Schriftart-Klasse 676Schriftart-Symbol 676Schriftfarbe 257Schriftgröße 257, 676Schrifttypen TLF-Text 282Schriftwarnung 278Schriftzeichen

in Vektoren umwandeln 273Schriftzuordnung 278Schwarze Ränder 617Schwingende Bewegung 433Schwingung 433.scr 934Screenreader 330Screensaver 934Screensaver Producer 935ScreenTime for Flash 935Scroller 647, 680scrollRect 461scrollTargetName 682SDK 930Security by obscurity 861SECURITY_ERROR 708, 801, 802SecurityErrorEvent.SECURITY_

ERROR 801, 802seek 633Segmentraster 115Sekunde 492SELECT 744, 790, 797, 802selectable 673selected 530Sequenzen 452serif 267Serifen 268Server Adminstration 733Serverseitige Skriptsprache 697

SET 758setChildIndex 386setComponentStyle 538setPixel 569setPixel32 570setPixels 570setSelection 680setSize 462, 527, 768setStyle 537Setter 496setTextFormat 674, 680setVector 570SGML 698SHA1 862SHA256 862ShaderFilter 563Shape 349, 381shapeFlag 825Shared Library

Dateigröße 145Ladeverhalten 144

SharedObject 835shift 356shortRotation 462Sicherheit 728, 755, 803, 861Sichtbarkeit von Anzeigeobjekten

386Silbentrennung 261SimpleButton 381sin 447Sine 454Sinus 433size 538, 676, 803, 837Skalierbarkeit 27Skalierung 216

animieren 216Skelett

Hierarchie 240Skelett-Animation 242Skinning 524Skins 537, 538Skripthilfe 340

aktivieren/deaktivieren 343Skype 702slice 356Slider 597Slideshow 529SlowMotion 852SMALLINT 737smooth 509smoothing 566

.sol 837SOL 837Sonderzeichen 667songName 588sort 356, 357Sortierung 357, 777

absteigend 357, 358alphabetisch 358numerisch 357

sortOn 356, 357, 358, 779sortXMLByNode 778Sound 573

abspielen 589ein­ und ausblenden 583Ereignis 579Import 575in der Zeitleiste 579laden 587Lautstärke 596Lautstärke steuern 597mit ActionScript 585parallel steuern 592pausieren 594, 595Schaltfläche 580Starten 579Stopp 580Stream 580Veröffentlichung 575

SoundChannel 589, 594SOUND_COMPLETE 590, 603Soundeffekte 581Soundeigenschaften 577Sound Forge 578Soundkanal 604SoundLoaderContext 590Soundloop 580, 589

als MP3 591SoundMixer 585, 604Sound-Player 601Soundspektrum 576, 604

darstellen 605Sound-Streaming 590soundTransform 587, 596, 603,

632, 635Soundtypen 579span 684SpanElement 690Speicher freigeben 392Spieleprogrammierung 819

Highscore 855Highscore­Sicherheit 861

953

Index

Interaktion 819Kollisionserkennung 823SharedObject 835Sound 841Zeit 834

Spiralenförmige Bewegung 442splice 357split 814Sprache 577Sprite 349, 381Sprühen-Werkzeug 79SQL 732SQL Development 733SQL Distinct 745SQL-INJECTION 752SQL-Injections 757sqrt 433, 447SQRT1_2 448SQRT2 448SQUARE 506SSL 728, 861stage 380Stage 378, 381Standard 736Standard-Komponenten 933Standardlayout

wiederherstellen 62Stapelreihenfolge 118Stärke des Weichzeichners 620start 421startDrag 821Starten 579static 486Statische Textfelder 255Statusübergänge 933Sternform erstellen 97Steuerung der Zeitleiste 377Steuerungspunkte ausrichten 250Steuerung von Zeitleisten 376Stift 97Stiftwerkzeug

Ankerpunkte entfernen 98Ankerpunkte hinzufügen 98Ankerpunkte umwandeln 98Pfad schließen 98

Stile 536, 537stop 376, 377, 421, 602stopAll 585stopDrag 821Stopp 580Stream 580

Streaming 591, 610stretchFaktor 604Stricheigenschaften

Benutzerdefinierte Stile 74Höhe 74

Strichfarbe 68, 74Strichhöhe 74Strichlinie

Abschluss 75begradigen 99entfernen 100glätten 99in Füllung umwandeln 73Verbindung 75

Strichstil 74benutzerdefiniert 74

Strikte Typisierung 349String 348strip_slashes 756strip_tags 730Strong 454Struktur der Zeitleiste im

XFL-Format 334Strukturierung von Ebenen 156Stunde 492StyleManager 537subclass 498Subject 729Subtrahieren 557Subtraktion 360Suchen 343Suchen und Ersetzen 343Suchmaschinen 311super 500Superglobale Arrays 731Superklasse 498swapChildren 386SWD-Dateien 299SWF 396SWF-Einbindungsmöglichkeiten

303SWF laden 396SWF-Object 303, 309

align 321Einbindungsmethode 303FlashVars 313menu 321quality 320scale 321weitere Einstellungen 312wmode 321

SWF Screensaver for Mac 935switch 364, 704Symbol 123

An Position bearbeiten 129bearbeiten 128Begrenzungsrahmen 131duplizieren 129erstellen 124Grafik­Symbole 124Instanzeigenschaften 123, 127Instanzen 126in Symbol konvertieren 125konvertieren 125MovieClip­Symbole 123Positionierung 131Registrierung 125, 131, 132Schaltflächen­Symbole 124Schriftart­Symbole 124Verschachtelung 124

Symbol-Bearbeitungsmodus 125Symbole als Klasse 490Symbolinstanz 126, 127Symboltyp 624Symmetriepinsel 80, 84Synchronisation 579Syntax-ToolTip 913Syntax überprüfen 343, 344System.useCodePage 665Szenen 163

ansteuern 165Bildbezeichner 164Dateigröße 164Duplizieren 164erstellen 164vermeiden 164verwalten 164Vor­ und Nachteile 164

T

tab 685Tabellen

exportieren 739tabIndex 661, 672tabstops 657Tabulator-Reihenfolge 661tan 447Tangens 447target 390, 676

954

Index

Tastatur 382, 395, 819Tastaturbefehle deaktivieren 819Tastaturkurzbefehle 63

Menü 63Tastatursteuerung 819Tate Chu Yoko 649tcy 684Teilen 273Tellerrand 911Testen 578text 654, 672, 760Text 251, 647

Absatztext 252als Grafik einfügen 274Anti­Aliasing 266Ausrichtung 260auswählbar 265Auszeichnungen 258Bitmap­Text 273Blocksatz 261Breite anpassen 253Dokument laden 664Dynamische Textfelder 650Dynamisch zuweisen/abfragen

654Eigenschaften 255Eingabe beenden 252Eingabefokus 662Eingabetextfelder 650Eingebettete Zeichen 273E­Mail­Verknüpfung 264Farbe 256fehlende Schriften ersetzen 278Feld­Eigenschaften 670Felder mit ActionScript 670feste Breite 252Fettdruck 259Fluss steuern 682formatieren 256Größe 256hoch­/tiefstellen 263HTML­Textfelder mit eingebetter

Schrift 655, 656Kapitälchen 259Klassischer Text oder TLF? 647Kontrast 258Kursiv 259laden 790linksbündig 260Mehrspaltig 692mehrzeilig 252

mit Anti­Aliasing 272mittig 261mit URL verknüpfen 264Neigung 255ohne Anti­Aliasing 273Punkttext 251Rahmen 652rechtsbündig 260Richtung 263Rotation 254Schriftart 256Schriftart­Klasse 676Schriftart­Symbol 676Schriftfarbe 257Schriftgröße 257Scroller 680Skalierung 254Tabulator 661Textfeld­Methoden 679Textfeld­Typen 255TextFormat­Klasse 673Text Layout Framework (TLF)

682transformieren 253unerwünschte Schatten 274URL­Kodierung 666Zeichenabstand 262Zeicheneinbettung 652Zeichenkodierung 664Zeilenabstand 261Zeilenlänge 262zentriert 261

TEXT 708, 737textAlign 688textAlignLast 689textAlpha 689Textausrichtung TLF-Text 287Textbreite 253textColor 672Textcontainer 691textDecoration 689Textebenen 550, 553Texteingabefelder 255Texterstellung klassisch 251Textfeld-Eigenschaften 255, 670Textfeld-Methoden 679Textfeld-Typen 255

Dynamisch 255Eingabefelder 255Statisch 255

TextField 349, 381, 670

TextFieldAutoSize.CENTER 671TextFieldAutoSize.LEFT 671TextFieldAutoSize.NONE 671TextFieldAutoSize.RIGHT 671TextFieldType.DYNAMIC 673TextFieldType.INPUT 673textflow 684TextFlow 684, 690textformat 657TextFormat 673

Eigenschaften 675TextFormatAlign.CENTER 675TextFormatAlign.JUSTIFY 675TextFormatAlign.LEFT 675TextFormatAlign.RIGHT 675textHeight 673textIndent 689Textknoten 774TextLayoutFormat 685Text Layout Framework 647, 682

Eigenschaften 686Mehrspaltiger Text 692Vererbung 686

Textrichtung 263textRotation 689Textscroller 680Text transformieren

Neigung 255Rotation 254Skalierung 254

Textwerkzeug 251textWidth 673Tiefenverwaltung 437TIFF 546TileList 530time 635, 637, 812TIME 737Timer 494, 420TIMER 421TimerEvent.TIMER 421TIMESTAMP 737Timing 209tint 462Tintenfass 110TINYINT 737TINYTEXT 737TLF-ActionScript-Bibliothek 649TLF-Text 279

Ausrichten 286Ausrichtung 287Container und Fluss 288

955

Index

Dateigröße 279Eigenschaften 280formatieren 280Groß­/Kleinschreibung 282Grundlinienverschiebung 286Hyperlink und Ziel 282Ligaturen 283Schrifttypen 282Textfelder verbinden 289Umbruch 284Veröffentlichungseinstellungen

280Ziffernbreite 283Ziffernschreibweise 283

TLF-Text-Eigenschaften 280auswählbar 280bearbeitbar 280nur Lesen 280

TLF-Texterstellung 279TLF-Textfeld-Eigenschaften

Ausrichtung im Container 288Maximale Zeichen 288Spalten 289Textfarbe 289Verhalten 288Zellauffüllung 289

TLF-Textfelder miteinander verbinden 289

TLFTextField 670TLF-Text-Formatierungseinstel-

lungen 281TLF-Text vs. klassischer Text 279TLS 728to 452To 729togglePause 633Toolkit for CreateJS 899toString 357track 588trackingLeft 689trackingRight 689Transformationsmatrix 520Transformieren

Text 253transformMatrix 462Transparenz 68, 219Trigonometrie 430true 349TrueSpace 928try 848

Tween 448animieren 179an Pfad ausrichten 205beschleunigung 215Beschleunigung 183Bewegungs­Editor 190Bewegungspfad 208Bewegungs­Tween 178Bewegungs­Tween erstellen 179Bewegungsvorstellungen 202Drehung 183eigenen Pfad erstellen 189Eigenschaften 184erstellen 182Formmarken 223Form­Tweens 220Geschwindigkeit 186Instanzname 183klassische Tweens 178Klassische vs. Bewegungs­Tweens

180Länge ändern 187Optionen 183Pfad 184verlängern 182

Tween-Engines 448Tweener 448TweenEvent.MOTION_START

448Tween-Klassen 448TweenLite 449

3D­Flip 455Easing 453Ereignisse 454Methoden 450Plugins 458Schneeflockenanimation 463

TweenMax 449TweenNano 448TweenPlugin 458Tweens 178

Bewegung im Raum 217Tweensy 449Typ 736type 637, 673, 803Typenkonflikt 351typeof 351typewriter 267Typisierung 349, 350

U

u (HTML-Tag) 656Überlagern 556Überschreiben 500Übersichtlichkeit 477Überspringen 406UILoader 530uint 348UIScrollBar 680ul 657Ultrashock 524Umbruch TLF-Text 284Umkehren 557Umlaute 667Umwandlung

Bitmap in Vektoren 221UND 365, 366undefined 347, 411underline 538, 676Ungleich 362Unicode 664UniRed 665UNIX-Dateirechte 717Unix-Zeitstempel 812UNLOAD 399unshift 357UNSIGNED 736Unsigned Integer 348Unterauswahlwerkzeug 100Unterklasse 498Unterknoten 760Unterschneidung 261, 675Unterstreichung 676, 689Untypisiert 347UPDATE 758updateAfterEvent 418, 419, 511,

419updateAllControllers 691upload 799, 800Upload 797UPLOAD_COMPLETE_DATA 803Upload-Fortschritt 808upload_max_filesize 811Upload-Skript 799url 601, 676urlencode 709URL-Encoding 710URL-Kodierung 666URLLoader 666, 708, 715, 761

956

Index

URLLoaderDataFormat 666, 669URLLoaderDataFormat.BINARY

708URLLoaderDataFormat.TEXT 708URLLoaderDataFormat.VARIA-

BLES 708, 746URLRequest 397, 666, 725URLRequestMethod.GET 718URLVariables 718URL verknüpfen mit Text 264useCodePage 665UTF8 710utf8_decode 710utf8_encode 710

V

Validierung 763VARCHAR 737Variablen 346, 702Variablendefinition 490

doppelte 411Variablenzugriff aus Flash 314VARIABLES 708VBR, 2-Pass 621VBScript 697Vektor 359Vektoren und Pixel 27Vektorgrafik 27Vektorkonturen 550Verbindungswinkel 506Vererbung 498, 686Vergleichsoperatoren 361, 362Vergrößern 119Verkleinern 119Verknüpfung 576, 677Verknüpfungsbezeichner 137Verlassen 406Verlaufsmaske 227

Beispiel 227Maskierung 230

Verlustbehaftet 546Verlustfrei 546Verlustfrei (PNG/GIF) 546Veröffentlichen

ActionScript­Version 296Bilder und Sounds 296Ebenen ignorieren 158

Flash­Player­Version feststellen 302

Hardwarebeschleunigung 300HTML­Ausrichtung 305, 321mit und ohne JavaScript 303Skalierung 321SWF­Einbindungsmöglichkeiten

303SWFObject 303Version 294Vor Import schützen 299

Veröffentlichung 293Flash 294GIF 306HTML 301JPEG 308PNG 308

Veröffentlichungseinstellungen 293TLF­Text 280 verwenden 547

Verschachtelung 172, 231Beispiel 231

Verschleierungstechnik 866Verschlüsselung 728, 862VERTICAL 505verticalAlign 689Vertikale Textrichtung 264Verzögerung und Bildrate 421Video 381, 609, 627

Audio 622Audio­Export 619Audio­Spur steuern 632Bereitstellungsmethoden 609Beschnitt 616Export 614Extern 627FLV in der Zeitleiste 624Import in Flash 622importieren 622Kodierung 613Metadaten 621über ActionScript abspielen 629Vollbild 631Vorlagen 614Zeitleiste 618

Video-Containerformat 612Video for Flash 612Video-Format 611

Flash­Player­Versionen 612Video-Größe 614

Video-Objekt 627Video-Playback-Komponente

623Video-Player 613Video-Streaming 610visible 380, 458, 462, 673void 373Vollbild 631volume 463, 596, 603, 633Voreinstellungen

Tween Bewegung 202Vorverarbeitung 577vspace 657

W

W3C World Wide Web Consortium 306

W3C-konforme Veröffentlichung 303

W3C Validator 305Wasserhahn 92WAV 575Wavelab 578Webserver 698, 699Weichzeichnen 558Werkzeuge

3D­Drehungswerkzeug 1063D­Versetzungswerkzeug 107Deko 80Sprühen 79

Werkzeugleiste 52, 340Darstellung 52Wasserhahn 92

Werkzeugleiste ein-/ausblenden 343

WHERE 744, 758while 368, 704whiteSpaceCollapse 689width 379, 413, 414, 670Wiederholungen 580willTrigger 394Windows Media-Datei 611Winkel 430, 443Winkelberechnung 443Wireframe 933Wireshark 719wmode 321.wmv 611

957

Index

Wohlgeformtheit 761, 763wordWrap 673World Wide Web Consortium

306Wowza Media Server 610Wurzelknoten 759

X

x (Eigenschaft) 379, 380, 414, 670

XAMPP 699installieren 699

XARA 3D 928XFL-Datei 332

Grafiken aktualisieren 333speichern 332Struktur der Zeitleiste 334Vorteile 332Wirksamwerden von Ände­

rungen 333XML 692, 759, 855

Attribute 760bearbeiten 773Definition 759Elemente entfernen 776Elemente hinzufügen 774Formatierungen 771Kommentare 763laden 761sortieren 777Sortierung (nach Attribut) 779speichern 781

XMLList 765XML-Parser 761XMP 621XOR 366

Y

y (Eigenschaft) 379, 380, 414, 670

year 588YEAR 737Yudit 665

Z

z (Eigenschaft) 379, 380, 413, 414, 670

z-Achse 437Zauberstab 102

Einstellungen 103Zeichenabstand 261Zeicheneinbettung 652Zeichenkette 348Zeichenkodierung 664, 711Zeichenmodi 67

Objektzeichnung 68Zeichenverbindung 67

Zeichentablett 77Zeichenverbindung 67Zeichenwerkzeug 68

Ankerpunkt entfernen 101Auswahlwerkzeug 99Eigenschaften ändern 73Ellipsenwerkzeug 95Farbeimerwerkzeug 110Farbverlaufwerkzeug 114Freihandwerkzeug 76Lassowerkzeug 101Linienwerkzeug 72Pinselwerkzeug 77Pipette 111Polysternwerkzeug 97Radiergummi 91Rechteckwerkzeug 93Stiftwerkzeug 97

Stricheigenschaften 73Strich­ und Füllfarbe 68Tintenfasswerkzeug 110Unterauswahlwerkzeug 100Werkzeug für Ellipsengrundform

96Werkzeug für Rechteckgrund­

form 94Zeichnen 67Zeichnungs-API 503Zeilenabstand 261Zeilenfall 260Zeilenkommentar anwenden 343Zeilenlänge 261

Richtwert 262Zeilentyp 651Zeilenumbruch 685Zeit 706, 834Zeitleiste 54, 153

bei Bedarf erweitern 624Bildbezeichner 164Bilder 159Darstellungsoptionen 162Steuerung 376

Zeitleistensteuerung 377Zeitstempel 712, 855Zellauffüllung TLF-Text 289Zielpfad einfügen 343, 344Ziffernbreite TLF-Text 283Ziffernschreibweise TLF-Text 283ZINC 935Zoom 75Zufall 447Zugänglichkeit 330Zwiebelschaleneffekt 176

aktivieren 176Anwendungsbereich 176Konturansicht 177mehrere Bilder bearbeiten 177verankern 176

Zwischen Klammern ausblenden 343