ActionScript 1 und 2

Werbung
Sascha Wolter
ActionScript 1 und 2
Objektorientierung und Codedesign
mit Flash MX 2004
Auf einen Blick
Teil I: Grundlagen ...................................14
Teil IV: Fortgeschritten ..................... 394
1
Erste Schritte ........................................ 16
16 ActionScript 2.0...................................396
2
Versionen ..............................................44
17
3
Einführung in die
Programmierung ...................................70
18 Codedesign und Konzeption ............... 454
4
Die Entwicklungsumgebung ................82
Teil V: Praxis ........................................ 476
5
Regeln ................................................. 104
Komponenten ..................................... 426
19 Flashdetection ....................................478
Teil II: Programmierung ...................... 122
20 Außergewöhnliche
Benutzerführung ................................. 492
6
Anweisungen und Aktionen .................124
21
7
Werte und Datentypen ....................... 162
22 Macromedia Central ........................... 520
8
Ausdrücke und Operatoren ................ 196
23 HTML .................................................. 528
9
Funktionen.......................................... 242
24 JavaScript, ActiveX und Java ............... 552
3D mit Flash ........................................504
10 Kontrollstrukturen .............................. 258
Teil VI: Anhang ....................................586
Teil III: Objektorientierung ................274
25 Flash undokumentiert ........................ 588
11
Dokumenten-Objektmodell und
Gültigkeitsbereich (Scope) .................. 276
26 Vergangenheit, Gegenwart
und Zukunft ....................................... 598
12
Ereignisse ............................................ 282
27 Kurzreferenz ........................................ 612
13
Objekterstellung .................................336
28 Buchtipps ............................................ 642
14 Vererbung ...........................................350
29 Links .................................................. 648
15 Movieclips .......................................... 362
30 Die CD-ROM zum Buch ......................654
Index .................................................. 656
Inhalt
Vorwort
Teil II: Programmierung 122
10
Teil I: Grundlagen 14
1
Erste Schritte 16
1.1
1.2
1.3
Was ist ActionScript? 16
Pro und Kontra 24
Ihre ersten programmierten
Anwendungen 30
Versionen 44
2.1
2.2
2.3
Ursprung 44
Alternativen und Ausblick
Umstieg 61
3
Einführung in die
Programmierung 70
3.1
3.2
3.3
3.4
Vom Problem zum Programm 70
Imperative Programmierung 74
Ereignisorientierte Programmierung 76
Objektorientierte Programmierung 76
4
Die Entwicklungsumgebung
4.1
4.2
4.5
Der ActionScript-Editor 83
ActionScript-Datei erstellen unter
Flash MX Professional 2004 97
Referenz 98
Flash-Entwicklungsumgebung
anpassen 99
ActionScript mit alternativen Editoren
5
Regeln 104
5.1
5.2
Syntax überprüfen 105
Programm, Skript und
Ereignisprozeduren 105
Bezeichner 110
Anweisungen 116
5.3
5.4
6
Inhalt
Anweisungen und Aktionen 124
6.1
Aktionen für die Zeitleisten- und
Movieclip-Steuerung 127
Aktionen zum Drucken 136
Aktionen für die Sound-Steuerung 144
Aktionen für die Kommunikation 146
6.2
6.3
6.4
2
4.3
4.4
6
55
7
Werte und Datentypen 162
7.1
7.2
7.3
7.4
Variablen 162
Datentypen 172
Typumwandlung 182
Typisierung 192
8
Ausdrücke und Operatoren 196
8.1
8.2
8.3
8.4
8.5
8.6
8.7
Ausdrücke 196
Zuweisungsoperatoren 200
Arithmetische Operatoren 209
Vergleichsoperatoren 212
Logische Operatoren 224
Bitweise Operatoren 228
Sonstige Operatoren 234
82
102
9
Funktionen 242
9.1
9.2
Vordefinierte Funktionen 242
Selbst definierte Funktionen 246
10
Kontrollstrukturen 258
10.1
10.2
10.3
Bedingte Anweisungen 259
Schleifen 264
Ausnahmebehandlung 269
Teil III: Objektorientierung
11
274
Dokumenten-Objektmodell und
Gültigkeitsbereich (Scope) 276
Teil IV: Fortgeschritten 394
16
ActionScript 2.0 396
Klassen 397
Packages 403
Typisierung 406
Vererbung 407
Schnittstellen 409
Öffentlich oder privat 412
Statisch 413
Getter und Setter 419
Dynamisch 421
Intrinsic 424
11.1
11.2
Steuern von Movieclips
Ziele 279
12
Ereignisse
12.1
12.2
12.3
12.4
12.5
Vor- und Nachteile 282
Reihenfolge der Ereignisse 288
Ereignisprozeduren 294
Ereignismethoden 301
Listener 325
16.1
16.2
16.3
16.4
16.5
16.6
16.7
16.8
16.9
16.10
13
Objekterstellung
17
Komponenten
17.1
17.2
17.3
17.4
Vorgefertigte Komponenten 426
Anwendung von Komponenten 433
Komponenten erstellen 440
Verhalten 446
18
Codedesign und Konzeption 454
18.1
18.2
18.3
18.4
Analyse und Konzeption 454
Entwicklungsumgebung 457
ActionScript 465
Optimierung 472
13.1
13.2
13.3
13.4
13.5
13.6
276
282
336
Artenvielfalt 336
Philosophie 338
Blackbox 339
Klassen 340
Objekte 341
Selbst definierte Objekte 345
14
Vererbung 350
14.1
14.2
14.3
14.4
14.5
14.6
Klassen 350
Evolution und Spezialisierung 351
Erben von Fähigkeiten 353
Erben von Eigenschaften 355
prototype, __proto__ und super 356
Alternative 359
15
Movieclips 362
15.1
15.2
15.3
Eigenschaften 363
Fähigkeiten 368
Selbst definierte Eigenschaften
und Fähigkeiten 382
Nützliche Erweiterungen 387
Neue Movieclip-Klassen 390
15.4
15.5
426
Inhalt
7
Teil V: Praxis 476
Teil VI: Anhang 586
19
Flashdetection 478
25
Flash undokumentiert 588
19.1
19.2
Erkennung mit Skript 479
Erkennung ohne Skript 481
25.1
25.2
25.3
Werkzeuge 588
ActionScript 589
Ostereier 593
20
Außergewöhnliche
Benutzerführung 492
26
20.1
20.2
20.3
20.4
Tastatur 492
Maus 496
Ton 500
Bewegung 502
Vergangenheit, Gegenwart
und Zukunft 598
26.1
26.2
Flash MX anstelle von Flash MX 2004
Flash MX 2004, Version 7.2 604
27
Kurzreferenz 612
21
3D mit Flash 504
21.1
21.2
21.3
21.4
21.5
21.6
Drei Dimensionen 504
Perspektiven in Flash 505
Zusatzprodukte 506
2 ½ Dimensionen 509
Richtiges 3D 512
Isometrie 517
22
Macromedia Central 520
22.1
22.2
22.3
Bausteine 520
Erste Schritte 522
Entwicklung 522
23
HTML 528
23.1
23.2
23.3
HTML-Tags 528
HTML-Vorlagen 540
Praxis HTML 543
27.1
27.2
27.3
27.4
27.5
27.6
27.7
27.8
27.9
27.10
27.11
27.12
27.13
27.14
27.15
27.16
27.17
27.18
27.19
27.20
27.21
27.22
27.23
27.24
toplevel (globales Objekt)
Accessibility 614
Array 614
AsBroadcaster 615
Boolean 615
Button 615
Camera 616
Color 617
ContextMenu 618
ContextMenuItem 618
CustomActions 619
Date 619
Enumeration 620
Error 620
File 620
FontName 621
Function 621
FunctionArguments 621
Key 621
LoadVars 622
LocalConnection 623
Math 623
Microphone 624
Mouse 625
24
JavaScript, ActiveX und Java 552
24.1
24.2
24.3
JavaScript 552
ActiveX 562
Java 578
8
Inhalt
612
598
27.25
27.26
27.27
27.28
27.29
27.30
27.31
27.32
27.33
27.34
27.35
27.36
27.37
27.38
27.39
27.40
27.41
27.42
27.43
27.44
27.45
27.46
27.47
27.48
27.49
27.50
MovieClip 625
MovieClipLoader 628
NetConnection 628
NetStream 629
Number 629
Object 630
ObjectID 630
PrintJob 631
Selection 631
SharedObject 631
Sound 632
Stage 633
String 633
System 634
System.capabilities 634
System.security 635
TextField 635
TextField.StyleSheet 637
TextFormat 637
TextSnapshot 638
URI 639
Video 639
XML 639
XMLNode 640
XMLSocket 641
XMLUI 641
28
Buchtipps 642
28.1
28.2
28.3
28.4
28.5
28.6
28.7
28.8
28.9
28.10
28.11
MX Magazin 642
Flash-Grundlagen 642
Animation 643
Usability 643
ActionScript 644
ActionScript 2.0 644
Entwurfsmuster 645
Code verbessern 645
Flash auf PDAs 646
Rich Internet Applications
Tipps und Tricks 647
29
Links 648
646
30
Die CD-ROM zum Buch 654
29.1
29.2
29.3
Beispiele 654
Dokumente 654
Software 655
Index
656
Inhalt
9
Vorwort
Kreatives Programmieren
Entgegen landläufiger Meinungen handelt es sich bei der
Programmierung in Flash um einen kreativen Prozess mit
einer vollwertigen Programmiersprache, die sowohl von
Designern erlernbar ist, als auch die Bedürfnisse von Programmierern befriedigt.
Die Programmiersprache ActionScript hat nicht nur zu einem Anwachsen der
Möglichkeiten im Flash Player-Format (SWF) geführt, sondern auch neue
Zielgruppen auf der Seite der Entwicklung erschlossen. Ursprünglich von Programmierern als Spielerei abgetan, hat sich das Flash Player-Format und die
damit verbundene Entwicklungsumgebung Flash zu einer ernst zu nehmenden
Technologie für die Anwendungsentwicklung entwickelt. Programmierern fällt
der Einstieg in die Flash-Welt jedoch häufig schwer, da ihnen die verwendeten
Metaphern fremd sind. Diese sind für die meisten Designer keine allzu große
Herausforderung, dafür kämpfen sie eher mit den Konzepten der Programmierung im Allgemeinen und der Objektorientierung im Speziellen.
Die Programmierung ist ein kreativer Prozess, der eine strukturierte Vorgehensweise und die Beachtung einiger Regeln erfordert – aus der Sicht mancher
Designer sicher eine große Herausforderung.
Dieses Buch schlägt eine Brücke zwischen den Programmierern und den Designern und macht aus beiden gleichwertige Entwickler. ActionScript wird dafür
in der kompletten Breite mit der notwendigen Tiefe behandelt – und das aus
allen Blickwinkeln. Dieses Buch erläutert sowohl Konzepte der Programmierung
in der Sprache der Designer als auch die Elemente der Flash-Technologie und
von ActionScript in der Sprache der Programmierer. Mit Hilfe dieser Kenntnisse
stellt der virtuose Umgang mit ActionScript kein Problem mehr dar.
Danksagung
Für die gute Zusammenarbeit bei der Erstellung dieses Buches bedanke ich
mich bei allen Beteiligten, insbesondere bei all denen, die mehr dazu beigetragen haben, als es ihre beruflichen Verpflichtungen erfordern. Hervorheben
möchte ich hier die zahlreichen aktiven Mitglieder des Flashforums (http://
www.flashforum.de). Ein ganz besonderer Dank gilt den »Reviewern« (Korrekturlesern) dieses Buches, die viele Anregungen gegeben haben, um das Buch
10
Vorwort
besser zu machen. Hervorheben möchte ich dabei Peter Schreiber, Marc Thiele
und Saban Ünlü, die dieses Buches gegengelesen und auf fachliche Fehler untersucht haben.
Für meine kostenintensive Ausbildung, die mir überhaupt erst das Schreiben
eines Buches ermöglicht, danke ich allen Steuerzahlern und meinen Eltern, die
den Rest bezahlen mussten. Meinen Eltern danke ich auch für ihre Geduld bei
meiner Erziehung, die ohne ihre elterliche Liebe und eine große Portion Leidensfähigkeit kaum möglich gewesen wäre.
Das größte Leid während der Entstehung dieses Buches musste aber meine
Frau Sandra erfahren. Ohne ihre Fürsorge hätte ich wahrscheinlich nicht einmal
mehr die Zeit zum Essen und Schlafen gefunden.
Sascha Wolter, im Oktober 2004
Über Sascha Wolter
Sascha Wolter (http://www.saschawolter.de) berät seit 1995 zahlreiche Unternehmen, Zeitschriften und Fernsehsender in Fragen zur Anwendungsentwicklung für On- und Offline-Medien. International ist er freiberuflich als Autor,
Softwarearchitekt, Entwickler, Projektleiter, Referent und Trainer tätig. Seine
Bücher und Artikel zählen zu den meistgelesenen Publikationen. Als Gründer
der Macromedia User Group und des bestbesuchten deutschen Forums unter
http://www.flashforum.de engagiert sich Sascha auch für die Belange der Anwender.
Websites und weitere Informationen
Ursprünglich als Hobby von mir gestartet, hat sich das Flashforum (http://www.
flashforum.de) zum größten deutschsprachigen Forum rund um Flash entwickelt und bietet somit eine optimale Ergänzung zu diesem Buch. Über 40 000
Entwickler tauschen unter dieser Adresse ihr Wissen und helfen sich gegenseitig. Mittlerweile hat das immerhin zu über 600 000 Beiträgen geführt, die
durchschnittlich 3 000 000 Mal im Monat abgerufen werden.
Sollten Sie direkt mit mir in Kontakt treten wollen oder einfach nur weitere
Informationen zu mir, meinen Projekten und meinen Seminaren benötigen,
dann zögern Sie nicht, mich unter http://www.saschawolter.de zu besuchen.
Dort finden Sie übrigens nicht nur Seminarangebote zu Flash und ActionScript,
sondern weitere interessante Neuigkeiten rund um diese Technologien und zu
diesem Buch.
Websites und weitere Informationen
11
Über dieses Buch
In diesem Buch lernen Sie alles, was Sie brauchen, um mit der zu Flash gehörenden Programmiersprache ActionScript zu arbeiten. Sein Ziel ist, Ihnen nicht
nur zu erklären, wie sich ActionScript verhält, sondern auch zu vermitteln,
warum die Dinge in Flash so sind, wie sie sind.
Falls Sie ein Programmierer sind, profitieren Sie nicht nur von den Praxisbeispielen, sondern in erster Linie von den hier erläuterten Konzepten. Diese Buch
zeigt Ihnen die Unterschiede zu anderen Programmierwelten: Denn die einzige
Schwierigkeit für Programmierer besteht in der Regel darin, sich mit den Metaphern (z. B. Zeitleiste) und dem Dokumenten-Objektmodell (u. a. Movieclips)
eines »Autorensystems« wie Flash zu arrangieren und die vorhandenen Kenntnisse auf ActionScript zu übertragen!
Falls Sie noch keine Programmiererfahrung haben, stellt Sie das Erlernen
von ActionScript ebenfalls vor keine unüberwindlichen Hindernisse: Sie benötigen nur ein wenig Disziplin. Diese ist erforderlich, weil der Computer überhaupt keine eigene Intelligenz besitzt, die ihm hilft, Zusammenhänge aus dem
Kontext zu erschließen. Aus diesem Grunde muss jede Anweisung wie in einem
Kochrezept ganz genau und vollständig angegeben werden. Und auch bei
Kochrezepten ist es verheerend, wenn Dinge als bekannt vorausgesetzt werden
oder aus dem Zusammenhang erschlossen werden müssen: Bei der Anleitung
zu den ersten Fertigpizzas wurde z. B. vergessen, dass vor dem Backen die Folie
entfernt werden muss …
Egal ob Sie Programmierer, Designer oder eher Konzeptioner sind: Sie werden anhand der Beispiele anspruchsvolle Erfahrungen mit ActionScript sammeln
und schnell eigene Skripte schreiben. An vielen Stellen versucht dieses Buch außerdem einen Blick über den Tellerrand hinaus zu erlauben und wertvolle Tipps
aus der Praxis für anspruchsvolle Projekte zu vermitteln! Dieses Buch möchte
mehr sein als ein einmaliges Lesevergnügen und Sie ständig bei Ihrer Arbeit mit
Flash und ActionScript tatkräftig unterstützen. Darum ist es sowohl gleichzeitig
als Lern-, Lehr- wie auch als Nachschlagewerk zu nutzen!
Aber es darf auch nicht verschwiegen werden, was dieses Buch nicht leistet:
Zum einen hat es nicht den Anspruch auf Vollständigkeit und zum anderen
kann nicht zu jedem erdenklichen Anwendungsfall oder Thema eine Lösung
geboten werden. Für die Vollständigkeit lege ich Ihnen die im Lieferumfang von
Flash enthaltene Referenz ans Herz, die deutlich besser als ihr Ruf ist und fast
alle Befehle ausreichend erklärt (was darüber hinaus geht, finden Sie in diesem
Buch). Und für die Vielzahl anwendungsbezogener Probleme schauen Sie doch
einmal auf der Website http://www.flashforum.de, vorbei, auf der bereits Tausende von Lösungen verfügbar sind und täglich neue hinzukommen.
12
Vorwort
5 Regeln
Syntax und Semantik
Die Syntax legt die grammatikalischen Regeln fest, die
für die einzelnen »Zeilen« in einem Programm gelten. Die
Semantik beschreibt, was das dann letztendlich bedeutet.
Wie jede Sprache besitzt auch eine Programmiersprache einige Regeln und
Konzepte, an die es sich zu halten gilt. Die Semantik (Bedeutung) der einzelnen
Bestandteile einer Programmiersprache wird erst durch Syntax (Grammatik) zu
einem großem zusammenhängenden Ganzen – zu einem lauffähigen Programm.
Im Gegensatz zu realen Sprachen bieten Programmiersprachen weniger Freiraum in den Formulierungen: Sie müssen sich nur an die syntaktischen Regeln
halten! Da die Regeln aber deutlich überschaubarer als im realen Leben sind, ist
das normalerweise kein allzu großes Problem. Und selbst der Teil der Semantik
ist im Gegensatz zu echten Sprachen eher primitiv. Mit einem guten Dutzend
der vielleicht 400 Befehle in dem »Flash-Vokabelheft« lösen Sie bereits eine
Vielzahl der üblichen Aufgaben. Verglichen mit dem Wortschatz gesprochener
Sprachen eine lächerliche Menge.
Und solange Sie sich immer nur bewusst machen, dass der Computer nicht
weiß, was Sie erreichen möchten, und deshalb alles ganz genau erklärt bekommen will, ist Programmieren (eigentlich) kein Problem. Im Wesentlichen
beschreibt ActionScript nämlich nur, welche Objekte es in Flash gibt, und bietet
Ihnen die Möglichkeit, diese Objekte und deren Zustände abhängig von Ereignissen durch Anweisungen zu verändern. In der realen Welt gibt es z. B. ein
Auto, das sich nicht selten vor einer roten Ampel in einem stehenden Zustand
befindet. Sobald nun das Ereignis eintritt, dass die Ampel auf Grün umschaltet,
wird Gas gegeben und durch diese Aktion der Zustand des Fahrzeugs von stehend in fahrend geändert:
wenn (ampelWirdGrün) {
gibGas();
}
Neben der Kenntnis über die Bedeutung (Semantik) der von Flash verarbeiteten Objekte, Zustände, Aktionen und Ereignisse benötigen Sie noch Wissen
über die Art und Weise, in der diese Elemente angegeben werden dürfen. Mit
dieser Syntax, die den Aufbau eines Skripts beschreibt, beschäftigt sich dieses
Kapitel.
104
Regeln
5.1
Syntax überprüfen
Es schadet nicht, wenn Sie Ihr Skript schon während der Arbeit auf Fehler
überprüfen und die Option Syntax prüfen im ActionScript-Editor wählen.
Bei Änderungen an Ihrem Skript ist es leichter, die Fehler zu beseitigen, wenn
Flash diese unmittelbar meldet und Sie nicht bis zum nächsten Testlauf warten.
Haben Sie erst einmal eine große Menge an Änderungen durchgeführt oder
umfangreichen neuen Programmcode erstellt, dann ist die Isolation eines Fehlers deutlich schwieriger.
Normalmodus in Flash MX
Im Normalmodus von Flash MX ist die Option Syntax prüfen nur selten notwendig, da Flash in der Regel automatisch eine Syntaxprüfung
durchführt. Zum Leidwesen fortgeschrittener Entwickler schränkt der
Normalmodus jedoch gleichzeitig die Erstellung des Programmcodes
stark ein. Und seit Flash MX 2004 steht dieser Modus ohnehin nicht
mehr zur Verfügung.
5.2
Programm, Skript und Ereignisprozeduren
Abbildung 5.1
Der Aufbau eines Programms lässt sich auch mit einem Buch vergleichen.
Ein Buch besteht aus vielen Kapiteln, die aus vielen Absätzen bestehen. Und
jeder Absatz besteht aus Sätzen, die eine Aneinanderreihung von Wörtern darstellen. Ein Programm verhält sich sehr ähnlich dazu.
Ereignisse
Jedes in ActionScript erstellte Programm besteht aus mindestens einem Skript.
Ein Skript ist der Programmcode, der auf einem Schlüsselbild oder einer Instanz
(bzw. auf einem Objekt) platziert wird. Somit können jedes Schlüsselbild und
jede Instanz genau ein Skript besitzen. Jedes Skript besteht wiederum aus zahlreichen Anweisungen, die wiederum in Ereignisprozeduren zusammengefasst
sind. Diese Ereignisprozeduren oder Handler (engl. Bearbeiter) kümmern sich
um mögliche Ereignisse. Denn in Flash ist die Abarbeitung der Anweisungen
Programm, Skript und Ereignisprozeduren
Siehe
Kapitel 12,
»Ereignisse«
105
immer von Ereignissen abhängig. Dabei stehen Ihnen zwei Orte zur Platzierung dieser Skripte zur Verfügung: Schlüsselbilder und Objekte wie Movieclips,
Schaltflächen und Komponenten.
Schlüsselbilder
Abbildung 5.2
Schlüsselbild mit Aktionen
Wenn Sie Ihre Arbeit mit Flash beginnen, dann stoßen Sie als Erstes auf die
Zeitleiste, die aus Bildern und Schlüsselbildern besteht! Die Zeitleiste lässt sich
über den ActionScript-Editor einfach mit Anweisungen versehen, indem an der
gewünschten Stelle ein Schlüsselbild eingefügt und markiert wird. Flash hebt
mit Programmierung versehene Schlüsselbilder durch ein kleines »a« in der
Zeitleiste hervor!
Da Skripte in Schlüsselbildern mit dem Anzeigen eines Bildes nur ein Ereignis
kennen, sind Bildskripte nicht in Ereignisprozeduren unterteilt. Es fehlt also eine
on- oder onClipEvent-Anweisung, die bei den im nächsten Abschnitt erwähnten Instanzaktionen zwingend notwendig ist!
Die einzelnen Aktionen in einem Schlüsselbild verhalten sich wie die Regieanweisungen in einem Drehbuch. Unmittelbar bevor ein Bild angezeigt werden
soll (Ereignis), führt Flash die in einem Bild enthaltenen Anweisungen aus.
Wenn z. B. das Ende Ihres Films erreicht wird, dann soll gestoppt werden. Dafür
106
Regeln
benötigen Sie einfach nur die Aktion stop(); in einem Schlüsselbild am Ende
Ihres Films.
// Sobald der Abspielkopf in dieses Bild wechselt (Ereignis),
stoppe das Abspielen (Aktion)
stop();
Bildaktionen laufen nicht?
Bildaktionen werden in der Entwicklungsumgebung nur dann ausgeführt, wenn Sie im Menü Steuerung • Bildaktionen aktivieren einschalten. Und selbst dann führt Flash nur einen Teil der Aktionen aus.
Besser ist es, die Flash-Anwendung gleich zu testen (Steuerung • Film
testen), denn dann funktionieren die Aktionen.
Reihenfolge von Bildaktionen
Bildaktionen werden immer dann ausgeführt, wenn der Abspielkopf
das entsprechende Schlüsselbild erreicht. Um hier ganz genau zu sein:
Die Aktionen in einem Bild werden ausgeführt, bevor Flash das Bild
darstellt! Dabei beginnt Flash mit der Abarbeitung der Aktionen in der
obersten Ebene und wandert dann Ebene für Ebene von oben nach
unten.
Wenn wir dieses Verhalten noch ein kleines bisschen technischer beschreiben,
dann sind wir der eigentlichen Funktionsweise von Flash schon sehr nahe! Ihre
Anwendung ist nämlich an dieser Stelle ein Objekt. Und dieses Objekt ändert
ständig seinen Zustand, indem es ein Bild nach dem anderen anzeigt. Und in
jedem Bild geben Sie einem Objekt verschiedene Verhalten. Wie schon gesagt,
wenn sich das Objekt im letzten Bild befindet, könnte es z. B. die Bildwechsel
durch ein stop() anhalten. Oder um ein Beispiel aus der realen Welt zu nehmen: Auch Menschen verändern ihre Zustände (z. B. ihr Alter oder ihre Gesundheit) und davon abhängig manchmal ihr Verhalten – insbesondere sobald in
ihrer Zeitleiste ein entscheidendes Ereignis eintritt.
Objekte
Ein Flash-Film ist ein Objekt, das aus weiteren Objekten wie Schaltflächen und
Movieclips besteht. Dabei sind die Schaltflächen eine etwas eigenwillige Sonderform, die seit Flash MX glücklicherweise durch Movieclips ersetzt werden
können. Den in einer Anwendung verwendeten Movieclips und Schaltflächen
weisen Sie Anweisungen zu, indem Sie diese auswählen und dann den ActionScript-Editor verwenden.
Programm, Skript und Ereignisprozeduren
107
Abbildung 5.3
Schaltfläche mit Aktionen
Objekte sind unabhängig!
Wenn Sie die Zeitleiste Ihrer Anwendung durch eine Anweisung in
einem Bild beeinflussen, dann hat dies keine Wirkung auf die in diesem
Bild angezeigten Objekte. Diese arbeiten unabhängig weiter und müssen explizit durch ActionScript angesprochen werden.
Sowohl Schaltflächen als auch Movieclips entfalten ihre Wirkung, sobald sie in
einer Flash-Anwendung auftauchen, d. h., sobald der Abspielkopf einen Bereich
der Zeitleiste erreicht, indem Schaltflächen-Instanzen oder Movieclip-Instanzen enthalten sind. Dabei erhält jede Instanz ihre eigenen Befehle. Gerne wird
dabei vergessen, alle Skripte auf allen Instanzen in unterschiedlichen Schlüsselbildern zu pflegen!
Die Skripte auf einer Instanz wurden bis Flash 5 als Objektaktionen bezeichnet. Seit Flash MX sind die Begriffe Instanzaktionen, Instanzskripte oder Objektaktionen bzw. Objektskripte geläufig. Objektskripte verstehen eine ganze
Reihe von Ereignissen in der Form bei ereignis führe anweisungen aus. Für
Schaltflächen (engl. Button) und seit Flash MX auch für Movieclips sieht eine
Ereignisprozedur dann wie folgt aus:
on (ereignis) {
anweisungen;
}
108
Regeln
Die Menge der speziell für Movieclips verfügbaren Ereignisprozeduren wird
ähnlich verwendet und anstelle des on mit onClipEvent eingeleitet:
onClipEvent (ereignis) {
anweisungen;
}
Der Parameter für das Ereignis wird innerhalb runder Klammern unmittelbar im
Anschluss an die Schlüsselwörter on bzw. onClipEvent angegeben. Die zu diesem Ereignis gehörenden Anweisungen platzieren Sie innerhalb eines durch geschweifte Klammern gekennzeichneten Blocks. Ob Sie dabei Leerzeichen bzw.
Zeilenumbrüche (siehe »Whitespaces« ab Seite 111) zwischen die Klammern und
die Schlüsselwörter setzen, hängt von Ihren optischen Vorlieben ab. Flash erkennt anhand der Klammern automatisch, dass ein neuer Bestandteil folgt!
Ein Block, der sich auf ein Ereignis bezieht, wird wie bereits weiter oben erwähnt als Handler bezeichnet. Schaltflächen und Movieclips können mehrere
solcher Handler in einem Skript beinhalten, die dann abhängig von den eintretenden Ereignissen unabhängig ausgeführt werden. Dabei sollten innerhalb
eines Skripts niemals mehrere Handler mit dem gleichen Ereignis verwendet
werden.
onClipEvent (ereignis1) {
anweisungen;
}
onClipEvent (ereignis2) {
anweisungen;
}
Vermeiden Sie Objektaktionen
Bis Flash MX waren die Instanzaktionen der einzige Weg, eine FlashAnwendung auf zahlreiche Ereignisse inklusive vieler Benutzerinteraktionen reagieren zu lassen. Seit Flash MX sind diese Instanzaktionen aber
nicht mehr erforderlich.
Dies ist auch gut so, denn ein Programm mit zahlreichen, über viele
Instanzen verteilten Skripten ist sehr unübersichtlich und führt durch
unbeabsichtigte Seiteneffekte immer wieder zu Fehlern.
Flash MX bietet so genannte Ereignismethoden (einige wenige
davon gibt es bereits in Flash 5) und Listener (siehe Kapitel 12, »Ereignisse«), die – solange Sie nicht für ältere Flash-Versionen entwickeln
müssen – den Ereignisprozeduren unbedingt vorgezogen werden sollten:
Programm, Skript und Ereignisprozeduren
109
meineInstanz.onMouseUp = function() {
trace("Maus losgelassen");
};
Schaltflächen bleibt jedoch der Vorteil, dass sie bereits im Flash 2-Format eingesetzt werden können.
5.3
Bezeichner
Jedes Programm in Flash besteht aus einer Vielzahl an Begriffen, die Bezeichner
genannt werden. Zahlreiche dieser Bezeichner in ActionScript sind bereits mit
einer Bedeutung vorbelegt. Diese so genannten Schlüsselwörter sollten unbedingt genauso geschrieben werden, wie sie definiert sind.
Beachten Sie
die Großund Kleinschreibung!
Groß- und Kleinschreibung
Flash verhielt sich bis inklusive Flash MX in den meisten Fällen zwar tolerant,
was die Groß- und Kleinschreibung angeht, doch spätestens wenn Schlüsselwörter andere Zeichen enthalten oder durch ein Leerzeichen getrennt werden,
geht gar nichts mehr. Und auch bei der Groß- und Kleinschreibung gibt es
Schlüsselwörter, mit denen ActionScript nicht zurechtkommt. Und mit Flash
MX 2004, unterscheidet Flash wie das Vorbild ECMAScript sowieso grundsätzlich zwischen Groß- und Kleinschreibung. Übrigens: Die genaue Schreibweise
eines Schlüsselwortes können Sie sehr gut in der Referenz nachschlagen.
gotoAndPlay(10); // ist erlaubt
goto and play(10); // funktioniert nicht
Erlaubte Zeichen
Halten Sie sich unbedingt an Ihre gewählte Schreibweise, auch wenn Sie selber
Elemente benennen. Ihre selbst definierten Bezeichner dürfen außerdem nur
aus Buchstaben, Zahlen, Dollarzeichen oder dem Unterstrich bestehen. Als erstes Zeichen sind Zahlen darüber hinaus nicht erlaubt.
spieler1="Sascha"; // ist erlaubt
1spieler="Sascha"; // funktioniert nicht
Klammern
Bezeichnern für Befehle, Funktionen und Methoden folgt im Gegensatz zu den
Bezeichnern für Eigenschaften oder Variablen eine Klammer, wenn die mit
ihnen verbundene Funktionalität abgearbeitet werden soll. Jede Klammer, die
geöffnet wird, muss dabei wie in der Mathematik wieder geschlossen werden.
110
Regeln
Die Klammer ist in manchen Fällen leer, manchmal enthält sie einen oder mehrere durch Komma getrennte Parameter. Als Faustregel kann man sich merken,
dass alle Bezeichner mit Klammern versehen werden müssen, sollten sie nicht
als Wertebehälter eingesetzt sein.
bezeichner();
bezeichner(parameter);
bezeichner(parameter, parameter);
Einige Aktionen in ActionScript beeinflussen einen Block von weiteren Aktionen. In diesem Fall folgen der schließenden runden Klammer für die Parameter
eine öffnende geschweifte Klammer, dann eine oder mehrere Anweisungen
und abschließend wieder eine schließende geschweifte Klammer:
bezeichner() {
bezeichner();
}
Sie dürfen Blöcke aus geschweiften Klammern auch einfach zwischendrin verwenden, da diese eigentlich nichts anderes machen, als Anweisungen zusammenzufassen – ähnlich wie eine Gruppierung beim Design.
Öffnende und schließende Klammern finden
Es ist nicht immer ganz einfach, zusammengehörende öffnende und
schließende Klammern zu finden. Die Tastenkombination (Strg)/
(ï)+(Ä) schafft hier Abhilfe und hebt den Text zwischen runden,
eckigen oder geschweiften Klammern hervor. Die in der Flash-Hilfe
angegebene Tastenkombination (Strg)/(ï)+(’) funktioniert übrigens
nur bei einer angelsächsischen Tastatur.
Whitespaces
In ActionScript benötigen Sie eine Reihe von Bezeichnern, Operatoren wie
Klammern und Trennzeichen wie Kommata oder Semikolons. Zwischen diesen
Bestandteilen von ActionScript dürfen Sie so viele Leerzeichen und Zeilenumbrüche (so genannte Whitespaces) platzieren, wie Sie möchten. Achten Sie nur
darauf, dass Ihre Skripte weiterhin gut lesbar bleiben.
meineInstanz.stop(); // ist erlaubt
meineInstanz . stop
(
); // ist erlaubt
meine Instanz.stop(); // ist nicht erlaubt, da ein Bezeichner durch
ein Whitespace unterbrochen ist
Bezeichner
111
function meineFunktion () {
// Anweisung
} // ist erlaubt
function
meineFunktion
()
{
// Anweisung
} // ist erlaubt
function meine Funktion () {
// Anweisung
} // ist nicht erlaubt, da ein Bezeichner durch ein Whitespace
unterbrochen ist
Schlüsselwörter
Bei der Wahl eines Bezeichners steht Ihnen nicht nur ein beschränkter Zeichensatz zur Verfügung. Außerdem gibt es einige Begriffe, die bereits von Flash
reserviert oder in der zugrunde liegenden ECMAScript-Definition als reserviert
gekennzeichnet sind. Grundsätzlich sollten Sie aber keine Bezeichner verwenden, die Sprachelementen von ActionScript oder ECMAScript entsprechen.
Reservierte Schlüsselwörter
Schlüsselwort
ECMAScript 3
Flash MX
x (nur reserviert)
add
x
and
x
as
x (nur reserviert)
x (nur reserviert)
Boolean
break
x
x
x
x (nur reserviert)
bytes
case
x
x
x
catch
x
x (nur reserviert)
x
char
x (nur reserviert)
class
x
const
x (nur reserviert)
continue
x
x
x
x (nur reserviert)
debugger
112
Flash MX 2004
abstract
default
x
x
x
delete
x
x
x
Regeln
Schlüsselwort
ECMAScript 3
Flash MX
Flash MX 2004
do
x
x
x
double
x (nur reserviert)
dynamic
x
else
x
x
x
enum
x (nur reserviert)
eq
x
export
x (nur reserviert)
extends
x
false
x
final
x (nur reserviert)
finally
x
x
x (nur reserviert)
float
for
x
x
x
function
x
x
x
ge
x
get
x
goto
x (nur reserviert)
gt
x
if
x
x
x
ifFrameLoaded
x
implements
x
import
x
in
x
x
x
instanceof
x
x
x
int
interface
x
intrinsic
x
is
x (nur reserviert)
it
x
le
x
long
x (nur reserviert)
namespace
x (nur reserviert)
native
x (nur reserviert)
ne
x
Bezeichner
113
Schlüsselwort
ECMAScript 3
Flash MX
Flash MX 2004
new
x
x
x
not
x
null
x
on
x
onClipEvent
x
or
x
package
x (nur reserviert)
private
x
protected
x (nur reserviert)
public
x
return
x
x
set
x
short
x (nur reserviert)
static
x
super
x
switch
x
x
x
synchronized
x (nur reserviert)
tellTarget
x
this
x
x
throw
x
x (nur reserviert)
x
x
throws
x (nur reserviert)
transient
x (nur reserviert)
try
x
x (nur reserviert)
x
typeof
x
x
x
x (nur reserviert)
use
var
x
x
x
void
x
x
x
x (nur reserviert)
volatile
114
x
while
x
x
x
with
x
x
x
Regeln
Vordefinierte Klassen und Komponenten (Flash MX 2004)
Klassen- bzw. Komponentenname
Klassen- bzw. Komponentenname
Accessibility
FocusManager
Accordion
Form
Alert
Function
Array
Iterator
Binding
Key
Boolean
Label
Button
List
Camera
Loader
CellRenderer
LoadVars
CheckBox
LocalConnection
Collection
Log
Color
Math
ComboBox
Media
ComponentMixins
Menu
ContextMenu
MenuBar
ContextMenuItem
Microphone
CustomActions
Mouse
CustomFormatter
MovieClip
CustomValidator
MovieClipLoader
DataGrid
NetConnection
DataHolder
NetStream
DataProvider
Number
DataSet
NumericStepper
DataType
Object
Date
PendingCall
DateChooser
PopUpManager
DateField
PrintJob
Delta
ProgressBar
DeltaItem
RadioButton
DeltaPacket
RDBMSResolver
DepthManager
Screen
EndPoint
ScrollPane
Error
Selection
Bezeichner
115
Klassen- bzw. Komponentenname
Klassen- bzw. Komponentenname
SharedObject
Tree
Slide
TreeDataProvider
SOAPCall
TypedValue
Sound
UIComponent
Stage
UIEventDispatcher
String
UIObject
StyleManager
Video
System
WebService
TextArea
WebServiceConnector
TextField
Window
TextFormat
XML
TextInput
XMLConnector
TextSnapshot
XUpdateResolver
TransferObject
5.4
Anweisungen
Jedes Skript und jede Ereignisprozedur beinhalten einen Block mit mindestens
einer Anweisung. Denn ohne solche Anweisungen würde das Skript keinen Sinn
machen: Was nützt die Reaktion auf ein Ereignis ohne anschließende Folgen?
Die Anweisungen werden in einem Skript hintereinander angegeben. Dabei
kommt es darauf an, die richtigen Anweisungen in der richtigen Reihenfolge
anzuwenden. Ein Programm ist also nichts anderes als ein Kochrezept, bei dem
ebenfalls nur präzise und in der richtigen Reihenfolge formulierte Schritte zu
einem gelungenen Gericht führen.
Reihenfolge der Anweisungen
Wenn Sie mehrere Anweisungen verwenden, bestimmt die Reihenfolge das resultierende Verhalten. Einzelne Anweisungen können andere Anweisungen im
gleichen Bild oder auf derselben Instanz aufheben (wenn z. B. die Anweisungen
stop(); und play(); aufeinander folgen, hat nur die letzte Anweisung eine
Wirkung).
Verwenden Sie aus diesem Grund für Bildskripte nach Möglichkeit immer
ausschließlich eine Ebene. So haben Sie die Reihenfolge der Anweisungen besser im »Blick« und verhindern, dass sich mehrere Bildskripte in verschiedenen
Ebenen gegenseitig beeinflussen.
116
Regeln
Ziehe Hose aus
Erledige Geschäft
Setze hin
Setze hin
Erledige Geschäft
Ziehe Hose aus
Abbildung 5.4
Auf die Reihenfolge kommt es an!
Nomenklatur
Aktionen, Anweisungen oder Befehle beschreiben alle die Einzelschritte, die der Computer in Ihrem Programm ausführen soll. Aus diesem Grund werden die Begriffe meist synonym verwendet.
Semikolon
Das Ende einer Anweisung in ActionScript kennzeichnet das Semikolon (der
»Strichpunkt«). Verglichen mit einem Buch entspricht das in etwas dem Satzzeichen »Punkt«, der das Ende eines Satzes markiert.
anweisung;anweisung;anweisung;
In Flash dürfen Sie zwar auch auf das Semikolon verzichten, dann müssen Sie
aber einen Zeilenumbruch einfügen.
anweisung
anweisung
Gewöhnen Sie sich darum möglichst an, jede Anweisung mit einem Semikolon
zu beenden (einen Zeilenumbruch dürfen Sie trotzdem einfügen).
anweisung;
anweisung;
Übrigens ist auch nur die Angabe des Semikolons als Anweisung erlaubt, um
z. B. ein Skript zu formatieren. Sonst macht diese leere Anweisung aber keinen
Sinn und wird im Normalmodus des ActionScript-Editors automatisch gelöscht.
Anweisungen
117
;
anweisung;;;
;
anweisung;
Befehle und Methoden
Eine Anweisung beinhaltet in vielen Fällen einen Befehl (auch Aktion genannt)
oder bei objektorientierter Programmierung die Angabe einer Instanz mit Methode. Grundsätzlich ist ein Befehl in der Form befehl(parameter); aufgebaut.
Eine Methode wird wie objekt.methode(parameter); angegeben.
Viele Befehle und Methoden benötigen Parameter (auch Argumente genannt). Diese Parameter spezifizieren die Wirkung einer Anweisung genauer.
Wenn Sie z. B. eine Aktion verwenden, um in ein spezielles Bild des Films zu
springen, dann benötigen Sie die Anweisung (in diesem Fall gotoAndPlay) und
ein Ziel (also das Bild, in das gesprungen werden soll). Bei einem Kochrezept ist
das ähnlich: Sie benötigen bei einer Anweisung, wie z. B. dem Hinzufügen, die
genaue Angabe dessen, was hinzugefügt werden soll (z. B. drei Eier).
Methoden
Seit Flash 5 gibt es wie bei JavaScript Methoden, die Sie der alten
Schreibweise mit den so genannten Aktionen – falls möglich – vorziehen sollten. Anstelle von loadMovie("datei.swf", instanz); geben
Sie mit der neuen Schreibweise instanz.loadMovie("datei.swf"); an.
Instanznamen
Es gibt eine ganze Reihe von Objekttypen, die Sie in ActionScript über Ihren
Instanznamen ansprechen. Sollte sich die Instanz an einer anderen Stelle innerhalb des Flash-Dokumenten-Objektmodells befinden (siehe Kapitel 11), dann
benötigen Sie den kompletten Pfad bis zu dieser Instanz. Die einzelnen Bestandteile des Pfades werden dabei wie in den meisten anderen Programmiersprachen mit einem Punkt getrennt:
movieClipA.movieClipInA.movieClipInAInA.stop();
Dies ist am ehesten mit mittelalterlichen Weisungen zu vergleichen: Sohn des
Schusters, repariere meine Schuhe (schuster.sohn.repariere(schuhe);)! In
Flash wird die ganze Sache bei größeren Projekten jedoch deutlich umfangreicher: Sohn des Schusters, der wiederum Sohn der Lehrerin ist, die wiederum
Tochter des Müllers ist, repariere meine Schuhe (müller.lehrerin.schuster.
sohn.repariere(schuhe);). Glücklicherweise geht das Ganze aber dann doch
nicht bis zu Adam und Eva zurück …
118
Regeln
Funktionen
Auf einige Informationen in Flash wird über Funktionen zugegriffen. Beispiele
dafür sind die Laufzeit des Films getTimer() und die Versionsnummer des
Flash-Players getVersion():
// Zeige die Zeit an, die der Flash-Film bereits läuft
trace(getTimer());
Funktionen erkennen Sie immer an der nachfolgenden Klammerung. Im Unterschied zu Variablen sind Funktionen keine Wertebehälter, sondern Maschinen,
die einen Wert erst produzieren müssen. Und wie Befehle und Methoden erfordern manche Funktionen Parameter, welche die Produktion beeinflussen. Das
ist wie mit einer Brotbackmaschine, die für das fertige Brot eine ganze Reihe
von Zutaten benötigt.
Sollte eine Funktion zu einem Objekt gehören, dann spricht man auch hier
von einer Methode – mit dem Unterschied, dass dies eine Methode ist, die
einen Wert liefert.
trace(this.getBytesLoaded());
Kontrollstrukturen
Den Programmablauf bestimmen neben den Ereignissen die Kontrollstrukturen.
Diese bestehen immer aus einem Schlüsselwort, das die Art der Kontrollstruktur kennzeichnet, einem Parameterbereich in runden Klammern und einem
Anweisungsblock in geschweiften Klammern. Je nach Kontrollstruktur unterscheidet sich der Aufbau geringfügig. Die grundsätzliche Schreibweise ist aber
ähnlich und beinhaltet immer einen Parameter, der eine Bedingung enthält.
Diese Bedingung legt fest, ob die Anweisungen ausgeführt werden sollen oder
eben nicht. Umgangssprachlich
falls (ich.hunger>0) {
ich.geheEssen();
}
oder in ActionScript
if (meineMovieClipInstanz._x<0) {
meineMovieClipInstanz._x=550;
}
Weitere Kontrollstrukturen wie Schleifen und bedingte Anweisungen sind im
Kapitel 10, »Kontrollstrukturen« beschrieben.
Anweisungen
119
Ausdrücke
Anweisungen und Parameter bestehen aus Ausdrücken! Ein Ausdruck verhält
sich so ähnlich wie eine mathematische Funktion und besteht aus Operatoren
und Operanden. Als Operatoren kennt ActionScript unter anderem die Grundrechenarten und den Zuweisungsoperator = :
einzelpreis = gesamtpreis / anzahl;
Eigenschaften, Variablen, Funktionen, Methoden und zusammengesetzte Ausdrücke wiederum lassen sich als Bedingungen einsetzen. Diese Bedingungen
verwenden Sie in ActionScript kombiniert mit Kontrollstrukturen, um den Ablauf Ihres Skripts zu steuern. Den Ausdrücken ist ab Seite 196 ein eigenes Kapitel gewidmet, in dessen Zusammenhang auch die Kombinationsmöglichkeiten
unter Zuhilfenahme von Operatoren beschrieben sind.
120
Regeln
Index
!#p 138
!= 220
!== 221
#b 139
#include 86
#p 138
$version 484
%= 204
&& 225
&= 205
( ) 235
*= 203
++ 201
+= 204
-- 201
-= 205
. 237
/= 203
<< 230
<<= 207
<= 214
<> 65
== 219
=== 220
>= 216
>> 231
>>= 208
>>> 231
>>>= 208
? 240
[ ] 235
^= 206
{} 236
| 234
|= 206
|| 227
~ 230
3D 504
Techniken 505
Zusatzprodukte 506
3D-Optimierung 517
A
Abspielen
so groß wie möglich 147
Abspielgeschwindigkeit
ändern 278
Abspielumgebung 146
Abspielvorgang 131
stoppen 132
Abstrakte Klassen 418
656
Index
Abstraktion 78, 339
Accessibility 614
Accordion 430
accProps 363, 367
ActionScript 12
Bezeichner 465
Bildaktion 106
Definition 16
Editor 83
erstellen 82
für Designer 12
für Programmierer 12
Flash 4 48
Importieren und Exportieren 86
Kategorien 94
Konzept 12
Regeln 104
Umstieg 396
Ursprung 44
versteckte Funktionen 589
Zentrieren 548
ActionScript-Assembler 17
ActionScript-Code
aufrufen 244
ActionScript-Dateien
erstellen 97
Flash MX 2004 Professional 97
Format 460
ActionScript-Editor 31, 82
ein- und ausblenden 84
Optionen 85
Plus-Schaltfläche 94
Referenz 98
Suchen und Ersetzen 87
Voreinstellungen 91
Werkzeugleiste 94
ActionScript-Editor öffnen 35
ActionScript-Objekt 403
ActionScript (Central) 523
ActionScript 2.0 17, 50, 396
externe Dateien 396
getter/setter 420
Instanzen einer Klasse 400
Klassen 396, 397
Konstanten erstellen 166
Schreibweise 400
Typisierung 194, 406
undokumentierte Objekte 590
Vererbung 407
ActionScript 2.0-Einstellungen 401
ActionScript Communications 61
ActionScript Remote 60, 61
ActiveX 552, 562
Eigenschaften 563
Ereignisse 577
Methoden 568
ActiveX-Eigenschaften
AlignMode 563
BackgroundColor 564
Base 564
BGColor 564
DeviceFont 564
EmbedMovie 565
FrameNum 565
Loop 565
Menu 565
Movie 565
Playing 566
Quality 566
Quality2 566
ReadyState 566
SAlign 566
Scale 567
ScaleMode 567
SWRemote 567
TotalFrames 567
WMode 568
ActiveX-Ereignisse
FSCommand 577
OnProgress 578
OnReadyStateChange 578
ActiveX-Methoden
Back 568
CurrentFrame 568
FlashVersion 569
Forward 569
FrameLoaded 569
GetVariable 569
GotoFrame 570
IsPlaying 570
LoadMovie 570
Pan 570
PercentLoaded 571
Play 571
Rewind 571
SetVariable 571
SetZoomRect 572
Stop 572
StopPlay 572
TCallFrame 572
TCallLabel 573
TCurrentFrame 573
TCurrentLabel 573
TGetProperty 574
TGetPropertyNum 575
TGotoFrame 575
TGotoLabel 575
TPlay 575
TSetProperty 576
TSetPropertyNum 576
TStopPlay 576
Zoom 577
ActiveX-Steuerung 277, 563
add 65, 239
Addition 209
Additionszuweisung 170, 204
addListener 325
addProperty 166, 383, 419
Aftershock 481
Agenten-Manager (Central) 521
Aktionen 46, 83, 124
Alternativen 125
Aufbau 127
Drucken 124
einfügen 93
Sound-Steuerung 144
Steuerung 127
über Werkzeugleiste einfügen 94
zielgerichtet einsetzen 280
zuweisen 83
aktiver Bereich
Ereignis 318
Alert 430
Algorithmus 72, 124
Aliastext-Funktion 604
allowDomain 307
allowInsecureDomain 307
allowScale 146
allTransitionsInDone 449
allTransitionsOutDone 449
alpha 364
Alphakanäle 549
Alphawert 364
Als Datei exportieren 89
Analyse 454
and 65, 226
Anführungszeichen 178
Animation 38
Ankerpunkt 377
Anonyme Funktionen 254
anpassen 99
Ansichtsoptionen 85
Anti-Aliasing 134
Anweisungen 75, 94, 109, 116, 124
als neue Methode 385
Bedinungen 259
Befehle 118
gruppieren 237
Methoden 118
Reihenfolge 116
Anwendung
aufrufen 148
Anwendungs-SWF-Datei 521
Anwendungsentwicklung
Modus 51
Anzeige verknüpfen 447
AOL 480
Argumente 118
arguments-Array 251
Arithmetische Operatoren 197, 209
Array 190, 344, 614
Eigenschaften 614
Methoden 614
Array-Initialisierung 235
Array-Objekt
Sortierfunktion 254
Array-Zugriff 235
AsBroadcaster 328
Methoden 615
ash Communication Server MX 59
ASnative 592
ASO 403
ASO-Dateien 608
Verzeichnis 403
Assembler 337
Asteroid blaster 595
attachAudio 501
attachMovie 342, 369, 437
Audioquelle
ansteuern 501
Audiostream 489
Ausdruck 120, 196, 197
auf Gleichheit prüfen 263
negieren 224
wahr? 228
Ausgabe
verhindern 138
Ausgabefenster 33
Ausgabegröße 139
Ausnahmebehandlung 269
Auswertung 240
Auto-Format 85, 88
Auto-Format-Optionen 88, 179
automatische Typkonvertierung 183
Axometrie 517
B
Bandbreite 28
barrierefreier Zugang 489
Barrierefreiheit 363, 367
Bedienfeld
Aktionen 83
bedingt 240
Bedingte Anweisung 259
else 260
if 259
bedingte Ausdrücke 240
Bedingung 200, 212
Beenden im Webbrowser 150
beginFill 374, 379
beginGradientFill 374, 381
Begrenzungsbox Bild 139
Begrenzungsbox Film 139
Begrenzungsbox Max. 139
Behaviour 46, 446
Benutzerführung 492
Benutzeroberfläche
Steuerelemente 430
Benutzeroberflächen-Komponenten 430
Beschleunigung 56
Bewegung 37, 389
Interaktion 502
Programmiert 38
Bewegungs-Tweening 37
Bewegungsmelder 307
Bezeichner 73, 110, 342
definiert 110
Klammern 110
Schlüsselwörter 112
Bezeichnernamen
unzulässig 167
Bézierkurven 377
bframe 139
Bildaktion 107
Reihenfolge 107
Bildbezeichnungen 129
Bilder
Aktionen 106
ins vorige wechseln 245
laden 364
wechseln 245
Bildnummer 129
Bildschirm
Ereignisse 449
Bildschirmschoner 149, 474
Bildschirmschoner-Generatoren
475
Bildschirm anzeigen 447
Bildschirm ausblenden 447
Bildwechsel 290
Ereignis 312
Bild
ins vorhergehende wechseln 132
binäre Berechnungen 228
Binärzahlen 187
Bindable 444
Index
657
Bindungen 435
Bit-Komplement 230
Bitmap 509
drucken 137
bitweises Oder 234
bitweises Und
Flash 4 232
bitweises XOder 233
bitweise AND-Zuweisung 170
bitweise Oder-Zuweisung 206
bitweise Operatoren 228
bitweise OR-Zuweisung 170
bitweise Und-Zuweisung 205
bitweise Verschiebung 230
nach links 207
nach rechts 208
bitweise Verschiebung nach links
und Zuweisung 170
bitweise XOder-Zuweisung 206
bitweise XOR-Zuweisung 170
Blackbox 339
Blackbox-Prinzip 78
blank 152
bmax 139
bmovie 139
Boolean 173, 174, 188
Konstruktor 615
Methoden 615
Boolean-Objekt 174
Boolesche Werte 174
gegenteilig 224
break 263, 268
Breakthrough 596
broadcasting 327
Browser-Kompatibilität 554
Browsernavigation 29
Brute Force-Methode 478
Bühne 343
Größe verändern 333
Button 362, 430
Eigenschaften 615
Ereignismethoden 616
Methoden 616
Bytecode 17, 409
optimieren 472
C
call 65
callee 252
caller 252
Camera
Eigenschaften 617
Methoden 616
Camera-Objekt 502
capabilities-Objekt 489
Cascading Style Sheets (CSS) 544
658
Index
CBT (Computer Based Training) 552
Center in Browser 547
Central-Erweiterungen 524
Central API 527
Central Player 520
Central Player versus Flash Player
524
Central Shell 520
Central Software Development Kit
(SDK) 522
changed 294
ChangeEvent 444
CheckBox 428, 430
chr 65
class 398
Classes-Verzeichnis 424
CLASSID 529
clear 374
clientseitiges ActionScript 17
CODEBASE 529
Codedesign 454
Codefragmente 102
Codehinweise 469
anpassen 469
erzwingen 88
Codehinweise anzeigen 85
Codehinweise zeigen 87
ColdFusion 59
Collection 444
Color 344, 617
ComboBox 428, 430
Components V2 439
constructor 591
ContextMenu 618
ContextMenu-Instanz
Ereignis 321
ContextMenuItem 603, 618
ContextMenuItem-Instanz
Ereignis 321
ContextMenu 603
continue 268
Controller verknüpfen 447
Cookie-Klasse 424
Cookie-Objekte 590
core 424
Coreobjects 181
createClassObject 438
createEmptyMovieClip 342, 369
createObject 438
createTextField 369
CSS-basierte Stile 437
CuePoint-Navigation für benanntes
Bild 447
CuePoint-Navigation für Folie 447
currentframe 364
curveTo 374
curveTo-Methode 377
CustomActions 619
D
Darstellungsqualität 368
Wechseln 246
DataGrid 431
DataHolder 432
DataSet 432
Data Components 430, 432
Date 619
DateChooser 431
DateField 431
Dateien
Strukturieren 463
Dateiendungen 17
Daten
Aufbau und Struktur 164
laden 156
laden, Ereignis 309
Datenkomponenten 430
Datenquellen
aktualisieren 432
laden 430
Datenquelle auslösen 448
Datenstrukturen 73, 164
Datentyp 162, 172
bestimmen 238
in Objekt umwandeln 185
in Wahrheitswert umwandeln
184
in Zahl umwandeln 184
in Zeichenkette umwandeln 185
Daten speichern 589
Datumswähler 431
Debug-Optionen 85
Debugger 82
Debugger-Version 490
Debugger (Central) 522
delete 171
delete Objektzuweisung aufheben
238
depricated 62
DevNet 648
DHTML 550
Distance 515
Division 211
Rest 211
Divisionszuweisung 170, 203
Dokumentation 607
Dokumenteigenschaften 155
Dokumenten-Objektmodell 276
doppeltes Gleich 202
do while-Schleife 266
Drag and Drop 497
Drahtgittermodell 513
draw 449
Dreamweaver 102, 481, 528
Osterei 593
Dreidimensional transformieren 515
droptarget 364
Druckbereich 140
Drucken 139
Aktionen 136
als Bitmap 143
Bildes so groß wie möglich 139
Bild im Verhältnis zum
Dokument 139
Mehrseitige Dokumente 140
vektororientiert 141
verhindern 138
Druckfunktion 455
duplicateMovieClip 135, 342, 369
dynamic 422
Dynamisch 421
dynamische Klassen
Vererbung 423
E
Easter Eggs 593
ECMAScript 17, 51
Unterschiede zu ActionScript 53
ECMAScript 4 50, 396
und Java 54
Editor 102
Alternativen 457
externen einbinden 103
Eigenschaften 73
Bezeichner 465
Deklaration öffentlich/privat 416
löschen 238
selbst definiert 382
Variablen 164
zugreifen 346
Eigenständige Anwendungen 474
erstellen 474
Einfache Ausdrücke 196
else 260
else if 262
EMBED 528, 529
enabled 366
endFill 375, 379
Endlosschleife 264
enterFrame 300
Entwicklungs-Bedienfelder 32, 83
Entwicklungsumgebung 17, 57, 58,
82, 457
Enumeration 620
eq 65, 222
Ereignismethoden 109, 282, 301
polymorph 301
unterstützte Flash-Version 302
Vor- und Nachteile 285
Ereignismethoden, Flash 5
Vor- und Nachteile 286
Ereignisorientierte Programmiersprache 282
Ereignisorientierte Programmierung 76
Ereignisprozeduren 105, 282, 294
für Movieclips 295
für Schaltflächen 295
unterstützte Flash-Version 295
Vor- und Nachteile 285
Ereignisreihenfolge
bildbasiert 288
bildunabhängig 290
Ereignisse 105, 282, 296
benutzerabhängig 300
benutzerunabhängig 300
delegieren 608
erkennen 282
Methode aufrufen 301
Parameter 109
Reaktion 282
Reihenfolge 288
vordefiniert 283
Error 620
Erweitern 57
Erweiterungen verwalten 427
Esc-Tastenkombinationen 89
Escape-Sequenzen 179
EVA 73
eval 162, 163
eval-Funktion 53
Event 443
eventhandler 282, 294
Evolution 78, 351
exec 146
Expertenmodus 32
explizite Typkonvertierungen 182
extends 408
Extension Managers 427
externe Anwendung
starten 146
F
Factory 414
Factory-Methode 418
Fähigkeiten
als globale Funktion 385
selbst definiert 382
false 165, 174
Farbsteuerung 344
Fehlerbehandlung zur Laufzeit 269
Fehlerbehebungen 604
Fehlertyp 270
Fenster schließen 557
File 620
Film-Explorer 82
FLA 18
Flash 364, 589
Alternativen 58
Geheimnisse 588
undokumentiert 588
Flash-Anwendung
ansprechen 307
drucken 137
kombinieren 557
steuern 554
Ziel 279
Flash-Anwendung ansprechen
Ereignis 307
Flash-Dateiendungen 18
Flash-Erkennung 478
Flash-Erweiterungen 548
Flash-Film
abspielen 566
Abspielstatus 570
ActionScript aufrufen 572
ActiveX-Adresse 531
Adresse festlegen 534, 537
Ausschnitt vergrößern 572
Basisverzeichnis 564
Bildanzahl bestimmen 567
Bildanzeige 565
Bildbezeichnung angeben 573
Bildnummer auslesen 568
Bildnummer ermitteln 573
bildschirmfüllend 555
Bildzeiger ermitteln 575
Bildzeiger setzen 570, 575
Breite festlegen 539
Darstellungsqualität 535, 566
Eigenschaft ermitteln 574
einbetten 565
Fenstermodus 568
Film-ID 533, 534
Geräteschriftart 564
Geräteschriften 532
Hintergrundfarbe 531, 564
Höhe bestimmen 533
HTML-Zugriff 531
im Textfluss 530
in Ebene laden 570
in Frames 544, 557
in Schleife 534
Java starten 538
Kontextmenü 534
Kontextmenü anzeigen 565
Ladestatus 571
Ladezustand 566
mit Tabulatorverlassen 537
platzieren 536, 563, 566
Index
659
Player-Version bestimmen 569
Plug-in-Adresse 535
Ränder 543
relative Adresse 531
Sequenz starten 575
Sequenz stoppen 576
skalieren 537
Skalierung 567
starten 571
Startmodus 535
stoppen 572
URL bestimmen 565
Variablenwert bestimmen 569
Variablenwert setzen 571
Variablen erzeugen 532
veröffentlichen 528
verschieben 570
zentrieren 546, 548
zurücksetzen 568, 571
Flash-Layer 549
Flash-Versionen
Anweisungen 63
Umstieg 61
FlashAPI.zip 581
Flashdetection 478
Auswahlmethode 479
erweitern 487
JavaScript 479
mit Skript 479
ohne Skript 481
Systemeinstellungen 489
testen 486
FlashStudio Pro 474
Flash 4 66
Flash 4-Datei
importieren 67
Flash 4-Film
Bezeichner mit Sonderzeichen
66
Bildrate 66
Goto-Aktion 66
Scroll 67
Systemressourcen 66
Textauswahl-Zeiger 66
Flash 5
Gültigkeitsbereich 165
Flash Asset Xtra 277
Flash box 595
Flash Communication Server MX
61, 490
Flash Event Model 286
Flash Exchange 427
Flash für Programmierer 79
Flash mit FSCommand 558
Flash MX 598
zu Flash MX 2004 599
660
Index
Flash MX 2004
neue Funktionen 56, 57, 58
Version 7.2 604
Flash MX Professional 2004
neue Funktionen 56, 57, 58
Flash Open File Format 27
Flash Player 18, 19, 58, 277
Betriebssysteme 19
Betriebssystem ermitteln 244
Drucken 136
entfernen 486
mit JavaScript erkennen 479
Verbreitung 26
Version bestimmen 569
Version ermitteln 244
Zeit ermitteln 244
Flash Player-Datei 17
entfernen 159
Flash Player 4-Datei
in Flash Player 5 66
Flash Player 6 396
Flash Player Java Edition 579
Konstanten 582
Konstruktor 582
Methoden 583
Referenz 582
Flasm 472
FLEM 286
Flex 45, 194
FLfile-Objekt
Statische Methoden 609
Float 174, 187
focusEnabled 366
focusIn 449
focusrect 364, 367
Fokus 335, 449
Ereignis 321
Folien
Ereignisse 449
FontName 621
for-Schleife 266
Form-Tweening 37
Formen füllen 378
Formular 431
Formulareingabe
überprüfen 308, 329, 334
Formularüberprüfungen 321
Fortschrittsbalken 431
for in-Schleife 268
Frames 544
framesloaded 141, 364
Framework 440
Frei transformieren 506
fscommand 146, 277, 553
fscommand allowScale 147
fscommand exec 148
Einschränkungen 148
fscommand fullScreen 149
fscommand quit 149
fscommand showMenu 150
fscommand trapAllKeys 151
FullScreen 146, 555
Füllung 374
einfarbig 379
Function 246, 621
FunctionArguments 621
Funktionen 75, 119, 242
als Methode 247
aufrufen 247
erstellen 246
ohne Namen 254
selbst definiert 246
vordefiniert 242
zeitgesteuert aufrufen 292
Funktionsdeklaration 246
Funktionsobjekt 256
G
Ganzzahlen 174
Garbage Collection 172
Gary’s bike jump 595
Gary’s car jump 594
ge 65, 218
gelbes Rechteck 364
Geräteentwicklung 58
geschweifte Klammer 111
GET-Methode 152
getBounds 369, 523
getBytesLoaded 369
getBytesTotal 370
getDepth 370
getInstanceAtDepth 370
getNextHighestDepth 370
getSWFVersion 370
Getter 419
Getter-/Setter-Methoden 419
Getter-Methode 420
Getter/Setter 254
getTextSnapshot 370
getTimer 119
getURL 147, 151, 370, 553
Methoden 152
Parameter 152
getVersion 119
get URL 63
GIF-Unterstützung 527
gleich 219
Gleichheitsoperator 202
Gleichheitszeichen 168
gleich für Strings
Flash 4 222
Gleitkommazahlen 174
GLIC 440
global 164, 171, 367
Globales Objekt 343
Verfügbarkeit 599
Globale Eigenschaften 94, 367
Globale Funktionen 94, 243
Globale Variablen 171
globalToLocal 371
Goldrush 594
goto 127
GotoAndPlay 128, 371, 447
GotoAndStop 129, 371
GotoFrame 557
Go to and Play 63
Go to Next Frame 63
Grafiken
mit ActionScript erzeugen 374
Grafik laden 447
Groß- und Kleinschreibung 53, 110
größer als 215
Flash 4 218
größer als oder gleich 216
größer oder gleich
Flash 4 218
gt 65, 218
Gültigkeitsbereich 163, 276, 295,
399
H
Handcursor 367
Handler 105, 109
Hauptfilm 156
Height 555
height 364
hexadezimale Schreibweise 177
hide 449
highquality 65
Hintergrundfarbe
ändern 278
Hintergrundmusik 145
hitArea 366
hitTest 371
Hochkommata 178
HTML 528
ALIGN 530
ALLOWSCRIPTACCESS 531
automatisch erzeugen 558
BASE 531
BGCOLOR 531
CLASSID 532
CODEBASE 531
DEVICEFONT 532
EMBED 529
EMBED 528
FLASHVARS 532
Frames 544
HEIGHT 533
ID 533
LEFTMARGIN 543
LOOP 534
MARGINHEIGHT 543
MARGINWIDTH 543
MENU 534
MOVIE 534
NAME 534
Noframes 544
OBJECT 528
Object 529
PLAY 535
PLUGINSPACE 535
QUALITY 535
Ränder 543
SALIGN 536
SCALE 537
SEAMLESSTABBING 537
SRC 537
SWLIVECONNECT 538
SWREMOTE 538
Tabellen 547
Tags 528
TOPMARGIN 543
Vorlage 540
WIDTH 539
WMODE 539
Zentrieren 546
HTML-Hilfe 528
HTML-Vorlagen 528, 540
HTML-Vorlagenvariablen 542
Hyperlinks 147
I
IconFile 444
if 259
ifFrameLoaded 53, 63, 65
Imperative Programmierung 74, 337
Implementierung 72
Implements 411
implizite Typkonvertierung 182
importierte Klasse 405
Include 89
Include-Anweisungen 458
indexOf 493
Infinity 166, 176
initClip 293, 391
Inline-Schreibweise 255
Inspectable 443
Inspectable-Tag
Attribute 445
InspectableList 443
Installation Badge 526
Instance 181
instanceof 222
Instanz 341, 350
aktiver Bereich, Ereignis 310
Eigenschaften hinzufügen 382
Eigenschaft 165
erzeugen 342
Fähigkeiten hinzufügen 386
finden 128
klonen 342
Skripte 108
Status verändern, Ereignis 322
unsichtbar 344
verliert Fokus, Ereignis 314
von Prototyp 222
Instanzaktionen 108
Instanznamen 96, 118
Instanzskripte 108
Instanzvariablen 382
Instanz als Menüelement
Ereignisse 298
Instanz erzeugen
Ereignis 315
int 65
Integer 174, 186
Integrierte Klassen 94
Interaktion
Bewegung 502
Interaktionsformen 492
Interfaces 409
erstellen 410
Internet-Adressen 649
Internet Explorer 480
Flash anzeigen 528
Intervall
löschen 244
Intrinsic 424
Intrinsic-Klassen 609
isFinite 177
Isometrie 517
iterative Sprache 76
J
Java 18, 54, 396, 456, 552, 578
Application 581
Referenz 582
JavaDoc 471
JavaScript 51, 396, 529, 552
aufrufen 553
erstellen 558
Referenz 561
JavaScript API 609
JavaScript Flash API 610
Java Applet 579
Java Player für Flash 579
JPEG-Bilder
laden 153
laden, Aktionen 146
Index
661
K
Kamera 307, 502
Zugriff 489
Kantenglätten 134
Kernobjekte 181
Key 621
Key-Klasse 417
Key-Objekt 313, 494
keyDown 449
Keyframe 31
keyPress-Ereignis
Funktionstasten 297
keyUp 449
Klammern 111, 235
Klangsteuerung 344
Klassen 341, 350, 397
deklarieren 405
global 397
Konstruktur 398
Objektorientierung 340
selbst definiert 398
trennen 404
Vordefiniert 115
Klassenpfad 92, 401, 404
kleiner als 213
Flash 4 217
kleiner als oder gleich 214
kleiner oder gleich
Flash 4 217
Kombinationsfeld 430
Kommandozeile 492
Kompilierte Movieclips 434
Kompilierung 194
Komplexe Datentypen 172, 181
Komponenten 392, 426, 605
Anpassung 437
Bezugsquellen 427
einbinden 433
einstellen 435
erstellen 440
erstellen, ActionScript 2 442
erstellen ActionScript 1 441
Erweiterung 439
Flash MX 428
hinzufügen 428
installieren 427
konfigurieren 435
Live-Vorschau 434
Parameter verändern, Ereignis
324
Programmierte Verwendung 437
Standard- und Professional-Version 429
Vordefiniert 115
Vorgefertigt 426
zweite Generation 439
662
Index
Komponenten-Inspektor 435
Komponentendefinition 443
Komponentenparameter 443
Konfigurationsdateien
Flash MX 2004 100
Konfigurationsordner 99, 606
Flash MX 99
Flash MX 2004, Version 7.2 100
Konkatenation 209
Konsole (Central) 521
Konstanten 94, 165
erstellen 166
Konstruktor
aufrufen Flash 5 356
Kontextmenü 146, 366
erstellen 603
im Webbrowser 151
konfigurierbar 602
Kontrolle 57
Kontrollkästchen 428, 430
Kontrollstruktur 76, 119, 258
Schleifen 264
Konzeption 454
Kurven 374
zeichnen 377
Kurzreferenz 612
L
Label 431
Ladekontrolle 461
Ladevorgang
kontrollieren 461
Ladevorgang abgeschlossen
Ereignis 315
Laufleisten 428, 432
Laufzeitumgebungen 18
Laufzeit 194
Lautstärke ermitteln 501
Lautstärkeregelung 144
le 65, 217
Leerzeichen 111
length 65
level 276, 281
level0 156, 278
Pfad 364
leveln 364
Line 515
lineStyle 375
lineTo 375
lineTo-Methode 376
Linien 376
Linientrick 374, 375
Linkage 250
Links 648
Linux
Flashdetection 483
List 431
ListBox 428
Listener 109, 282, 325
selbstdefiniert 328
simulieren 326
unterstützte Flash-Version 326
Vor- und Nachteile 287
Liste 190, 428
sortieren 254
Live-Vorschau aktivieren 434
Livedocs 593
load 449
Loader 431
loadMovie 153, 278, 371
loadMovieNum 124, 155, 278
loadVariables 156, 371
loadVariablesNum 159
LoadVars 422, 622
onData 309
LocalConnection 557, 623
localToGlobal 372
Locationbar 556
lockroot 364
logisches Nicht 224
Flash 4 225
logisches Oder 227
Flash 4 228
logisches Und 225
Flash 4 226
Logische Operatoren 224
Lokaler Cache 527
Lokale Variablen 171
mit var 170
Loop 64
lt 65, 217
Lunar lander 596
M
Macintosh
Flashdetection 483
Macromedia-Diskussionsforen 648
Macromedia Central 520
Macromedia Dashboard 590
Macromedia Exchange 548
Macromedia Flash File Format
(SWF) SDK License 27
Macromedia Generator 541
main 312
mainloop 312
Maschinensprache 337
Math 623
Math-Klasse 413, 417
Math-Objekt 343
mathematische Operationen 343
mathematische Operatoren 209
Maus
bewegen 332
Interaktion 496
vertikale Position 366
Maus-Objekt 592
Mausposition 497
Sound 497
Mausradunterstützung 602
Mausrad 333, 602
Maustaste
loslassen 319
Maustaste drücken
Ereignis 316
Maustaste loslassen
Ereignis 317
Mausverfolger 496
Mauszeiger 319, 343
Ereignis 320
selbst definiert 343
Maus bewegen
Ereignis 317
Maus folgen 41
maxscroll 65
mbchr 65
mblength 65
mbord 65
mbsubstring 65
MD5 527
MediaController 432
MediaDisplay 432
MediaPlayback 432
Media Components 430, 432
Medienkomponenten 430
Mehrbenutzeranwendungen 25
Mehrfachvererbung 409
mehrzeiligen Anzeige 431
Menu 366, 431
MenuBar 431
Menubar 556
Menüleiste 431
Metadaten
interpretieren 444
Metadaten-Tags 443
Methoden 73, 127, 128, 242
Deklaration öffentlich/privat 416
einem Objekt zuordnen 248
zeitgesteuert aufrufen 292
zugreifen 346
Microphone 624
Microphone-Objekt 501
Mikrofone 307, 500
Zugriff 489
Mmfdata 590
Mnemonik 337
Module 460
Modulo 211
Modulo-Zuweisung 170
Modulozuweisung 204
Mouse 625
Mouse-Objekt 343
mouseDown 449
mouseDownSomewhere 449
mouseMove 300, 449
mouseOut 449
mouseOver 449
mouseUp 449
mouseUpSomewhere 449
move 449
moveTo 375
movieAboutInfo 539
Movieclip 39, 42, 96, 107, 276, 342,
362, 625
aktiver Bereich 366
aktuelles Bild 364
an Mauszeiger h‰ngen 246
Benennung 363
Bezeichnung 365
Bilder 365
Breite 366
Button 366
Drehung 365
drucken 138
duplizieren 244
durch Methode verkleinern 248
Eigenschaften 363
Eigenschaft setzen 246
Eingabefokus 366
entfernen 135
Ereignisprozedur 108
Ereignisse 448
erstellen 38
Erweiterungen 387
erzeugen 342
Fähigkeiten 368
Fähigkeiten hinzufügen 386
Funktion 278
globale Eigenschaften 367
Größenvergleich 253
Höhe 364, 366
Inhalt löschen 246
in Bild wechseln 128
leer 362
löschen 136
mit ActionScript beeinflussen 96
mit Button-Verhalten 367
mit der größeren Fläche ermitteln
253
nicht sichtbar 362
sichtbar 365
steuern 276
Stufen 278
Variablen 245
vertikale Position 366
Wert ermitteln 244
ziehen 447
zum Drucken laden 141
zusätzliche Eigenschaften 383
Movieclip-Instanz
entfernen, Ereignis 323
Pfad 365
vervielfältigen 135
Movieclip-Klassen 390
Movieclip-Methoden 368, 369
Movieclip-Steuerung
Aktionen 127
Movieclip.prototype 383, 386
MovieClipLoader 628
Movieclip duplizieren 447
Movieclip Eigenschaften hinzufügen 383
movieCopyrightInfo 539
Multiplikation 211
Multiplikationszuweisung 170, 203
N
Nachrichten 282
verschicken 282
Nachrichten (Central) 521
name 365
NaN 166, 176
ne 65, 222
NetConnection 628
Netscape Navigator 480
Flash anzeigen 529
NetStream 629
new 237
new-Operator 350
newline 179
nextFrame 130, 372
nextScene 131
Nicht mehr verwendet 94
Noframes 544
Normalmodus 32, 105
not 65, 225
Not a Number 176
Null 173, 180
null XE 165
Num
Stufen als Ziel angeben 138
Number 173, 174, 189, 629
Globale Variablen 177
Number-Objekt 178
NumericStepper 431
nummerische Werte 431
O
Oberklasse 353
OBJECT 528
Index
663
Object 184, 191, 529, 630
ObjectID 630
Objektaktionen 108, 109
Objekte 73, 107, 108, 181, 341
Anwendungsspezifisch 181
Klassen 344
Verschachteln 276
ziehen 133
Objekterstellung 336
Objekte bewegen
mehrere 41
Objektinitialisierung 236, 345
Objektinstanz 341
erzeugen 237
Objektorientierte Programmierung
76
Objektorientierung 41, 336, 338
Begrifflichkeiten 341
Konzepte 78
Leistungsfähigkeit 80
Metaphern 78
Philosophie 338
prototypenbasiert 591
Objektskripte 108
Objekttyp
mehrere Vorkommen 350
Objektzugriff 237
Objekt zuweisen 237
offener Standard 27
öffentlich oder privat 412
Ohne Rand 543
oktale Schreibweise 177
OLE/OCX-Steuerungen 562
on 295, 296
Werte als Ergebnis 296
onActivity 307
onChanged 308, 329
onClipEvent 109, 295, 299
onClipEvent (data) 299
onClipEvent (enterFrame) 299
onClipEvent (keyDown) 299
onClipEvent (keyUp) 299
onClipEvent (load) 299
onClipEvent (mouseDown) 300
onClipEvent (mouseMove) 300
onClipEvent (mouseUp) 300
onClipEvent (unload) 299
onClose 308
onConnect 309
onData 309
onDragOut 310
onDragOver 311
onEnterFrame 288, 312, 328
onID3 313
onKeyDown 313, 329
onKeyUp 313, 330
664
Index
onKillFocus 314
onLoad 290, 315
onMouseDown 316, 332
onMouseMove 317, 332
onMouseUp 317, 332
onMouseWheel 333
onPress 318
onRelease 318, 498
onReleaseOutside 319
onResize (Stage) 333
onRollOut 319
onRollOver 320
onScroller 320
onScroller(target) 334
onSelect 321
onSetFocus 321
onSetFocus (Selection) 335
onSoundComplete 322
onStatus 322
onSync 323
onUnload 323
onUpdate 324
onXML 324
on (dragOut) 296
on (dragOver) 296
on (keyPress) 297
on (press) 297
on (release) 297
on (releaseOutside) 297
on (rollOut) 298
on (rollOver) 298
OOP 336
OpenGL 512
Operanden 196, 197
Operatoren 94, 169, 196
Kategorien 198
Reihenfolge 198
Optimierung 472
Optionsfelder 428, 431
Optionsschaltflächen 430
or 65, 228
ord 65
Ostereier 593
Spielesammlung 595
owner 467
P
Packages 403
import 405
Verzeichnis 404
Pakete 403
Parallelprojektion 517
PARAM-Tag 529
Parameter übergeben 249
parent 152, 280, 365
Parenthesis 235
parseFloat 187
parseInt 186
Perspektiven 505
perspektivische Darstellung 504
Pfade 280
absolut 280
Darstellung 96
Platzhalter 163
play 372, 484
Plug-ins 25, 277
Verbreitung 26
Pods (Central) 521
Polymorphie 410
Polymorphismus 301
Position auf der Bühne 387
POST-Methode 152
Prä- und Post-Dekrement 201
Prä- und Post-Inkrement 201
Preloader 483
prevFrame 132, 372
prevScene 132
PrimalScript 102
primitive Datentypen 172
print 141
printAsBitmap 143
printAsBitmapNum 144
PrintJob 631
PrintJob-Klasse 140
printNum 142
private 412
Probleme
lösen in Teilproblemen 71
product.xml 522, 524
Produkt-ID (Central) 522
Professionelle Videobearbeitung 57
Programmcode-Dokumentation
Werkzeuge 472
Programmcode
von FLA-Datei trennen 458
Programmiermodelle 77, 336
Programmierrichtlinien 454
Programmiersprachen 77
Konzepte 70
progress 450
ProgressBar 431
Projekt
in Module unterteilen 147
proto 356, 359, 400
proto-chain 356
Protokolle 153
Prototyp
Vorkommen 181
Prototyp-Eigenschaft 397
Prototype 256, 346, 347, 356,
456, 591
Prototypen-Objekt 347
Prototypenkette 356
Methoden/Eigenschaften 358
Pro und Kontra Flash 24
public 410, 412
Punkte 96
PushButton 428
Q
quality 368
Quicksort 511
quit 146
R
RadioButton 428, 431
Rahmenlos 543
random 65
Raster 250
räumliche Darstellung 504
RDBMSResolver 433
Rechteck 367
Redaktionssysteme 29
Referenz 85, 98, 110, 612
Referenzdatentypen 173
Refresh-Tag 482
registerClass 390, 441
Reguläre Ausdrücke 527
Reihenfolge 198
Rekursion 264
remote shared object
Ereignis 323
removeListener 325
removeMovieClip 135, 372
Reservierte Schlüsselwörter 112
Resizable 556
resize 450
return 253
reveal 450
revealChild 450
Rich Client 16
Rollbalken 428, 432, 497
root 280, 365
rotation 365
Rückgabewerte 253
Rückrufmethode 282
S
Schablone 341
Schaltflächen 367, 430
Ereignisprozedur 108
Ereignisse 448
mit Druckfunktion 140
zum Laden der Daten 158
Schaltflächenverhalten 364
Schatten 505
Schema 436
Schleife 258, 264
beenden 268
do while 266
Endlosschleife 264
for 266
for in 268
while 265
Schlüsselbilder 106
a 33, 106
auswählen 31
Schlüsselwörter 110, 112, 493
Schnittstellen 340, 409
deklarieren 410
Vererben 412
zu Datenquellen 456
Schrägstriche 96
Schrägstrichsyntax 53
Schriften
schärfen 603
Scite 102
Scope 163, 276, 295
ScreenX 556
ScreenY 556
Scripte
Farbeinstellungen 92
scroll 65
Scrollbalken-Komponente 605
ScrollBar 428, 497
ScrollPan 428
ScrollPane 431
Selbstdefinierte Objekte 345
Selection 631
self 152
Semantik 104
Semikolon 117
Senden
Aktion 244
Serverseitiges ActionScript 17, 59
set 162
setInterval 292
Anwendung 292
setMask 372
Setter 419
Setter-Methode 420
SetVariable 557
Set Property 64
Set Variable 64
SharedObject 631
Shockmachine 567
Shockwave Remote 538, 567
showMenu 146
Sicherheit 29
Signaturen 243, 410
Singleton 416
Singleton-Entwurfsmuster 417
skalieren 146, 505
im Webbrowser 148
Skins 437
Skript
Drucken 89
exportieren 89
fixieren 85
importieren 89
Platzierung 105
Skript-Editor 97
Skript-Navigator 84, 93
Skriptobjekt hinzufügen 85
Slot Machine 278
Smart-Filmsequenzen 426
Smart Clips 426
Sniffer 481
Socket-Server
Verbindungsaufbau, Ereignis 309
Socket-Verbindung
neue Daten, Ereignis 324
Sound 344, 632
Puffer 368
stoppen 124, 145, 246
Sound-Instanz
erzeugen 344
ID3-Informationen, Ereignis 313
Sound-Player
erstellen 144
Sound-Steuerung
Aktionen 144
Soundeingabe 501
Sound abspielen 447
Ereignis 322
Sound aus Bibliothek laden 447
Sound stoppen 448
Spezialisierung 351
Spiegeln 389
Spiele
Steuerung 494
Sprachbestandteile 93
Kategorien 94
Stage 150, 633
Stage-Objekt 343, 523
Stand-alone-Player 277
fscommands 146
Steuerung, Aktionen 146
Stand-alone-Projektor 277
beenden 146, 149
Kontextmenü 150
Standard- und ProfessionalVersion 55
Standardkomponenten 430
Standardschaltfläche 428
startDrag 133, 373, 498
static 413
Statisch 413
Statische Eigenschaften
Index
665
öffentlich oder privat 415
statische Klasse 416, 459
Status 556
Sternchen 405
Steuerpunkt 377
Steuerung
per Tastatur 494
stop 107, 132, 373
stop(); 107
stopAllSounds 64, 124, 145
stopDrag 134, 373, 498
Strichfarbe 376
Strichpunkt 117
Strichstärke 376
Strichtyp 375
striktes Gleich 220
striktes Ungleich 221
strikte Gleichheit 180
String 173, 178, 189, 633
String-Objekt 180
Stringverkettung
Flash 4 239
Stufen 276
Inhalt löschen 246
style 544
Subclass 353
Subpackages 405
substring 65
Subtraktionszuweisung 170, 205
Subtraktion 210
Suchmaschinen 28
super 356, 409
super-Operator 355
Superclass 353
SVG 25
swapDepths 136, 373, 510
SWC 434
SWF 17, 18
analysieren 473
SWF-Datei 277
laden 153
laden, Aktionen 146
nachladen 124
umwandeln 601
SWF-Export
Werkzeuge 59
SWFStudio 474
Swift 3D 508
Swift 3D Xpress 508
Switcher 487
switch 263
Symboldefinition
Eigenschaften aufnehmen 382
Fähigkeiten aufnehmen 386
Symbole 39
Syntax 104
666
Index
überprüfen 105
Syntaxfarbkodierung 92
System 634
System.capabilities 634
System.security 635
Systemeinstellungen
ermitteln 489
Systemsprache 490
Szene 130
in vorige wechseln 245
wechseln 245
T
tabChildren 366
Tabellen 547
tabEnabled 366
tabIndex 366
Tabulatorreihenfolge 366
Taobot 518
target 365
Tastatur
Interaktion 492
Tastatureingaben 313
Tastatureingabe
ermitteln 494
Taste
drücken 313, 329
Ereignis 313
loslassen, Listener 330
Tastenkombinationen
anpassen 83
Taste loslassen
Ereignis 313
Teilaufgaben 339
tellTarget 53, 65, 127, 276
Text 158
ausgeben 30
laden 158
laden, Aktionen 146
TextArea 431
textbasierter Inhalt
laden 310
Textblock
ausgeben 34
Textblock einfügen 34
Textfeld 362, 589
ändern 329
ändern und Aktionen 294
Inhalt ändern, Ereignis 308
scrollen, Ereignis 320
TextField 362, 635
TextField.StyleSheet 637
TextFormat 637
TextInput 432
TextSnapshot 638
TGotoLabel 557
Thema 437
this 165, 281, 346, 383
throw 271
Tiefe 509
toggleHighQuality 65, 134
Toggle High Quality 64
toLowerCase 493
Ton
abspielen 489
Interaktion 500
steuern 432
Tooltipps 527
top 152
toplevel 612
Eigenschaften 612
Methoden 612
Methoden für die Entwicklungsumgebung 614
Toplevel-Funktionen 243, 244
totalframes 365
trace 33, 183
Trace-Aktionen 523
trace-Anweisung 33
trackAsMenu 367
Trackballs 500
Transformieren† 505
Transparenz 364, 376, 539
trapAllKeys 146, 151
Tree 432
true 165, 174
try-catch-finally 270
TSetProperty 557
Tweening 37
Typbestimmung 239
Typen
festlegen 192
typeof 172, 238
typeof-Operator 181
Typfehler
zur Laufzeit ermitteln 194
Typisierung 51, 192, 421, 466
ActionScript 2 406
Codehinweise 194
Typprüfung 461
typsichere Programmierung 192
Typumwandlung 182
Typumwandlungsfunktionen 184
U
UIScrollBar 432
UI Components 428, 430
Flash MX 428
Kompatibilität 429, 433
unäre Operatoren 197
Und 226
undefined 165, 173, 180
Undefiniert 180
undokumentierte Klassen 424
Unendlichkeit 176
ungleich 213, 220
Flash 4 222
Unicode 310
Unicode-Format 460
Unicode-Textformat 92
unload 450
unloadMovie 64, 153, 159, 278, 373
unloadMovieNum 155, 160
Unterklasse 353
Unterschied
ActionScript 1 und 2 396
Unterstrich 363
updateAfterEvent 291
Updates 82
URI 639
URL 365
aufrufen 151, 244
aufrufen, Aktionen 146
useHandCursor 367
UTF-8 310, 460
V
valueOf 373
var 164, 192, 398
Variablen 73, 162
Bereich 163
Bestandteile 73
definieren 382
dividieren 203
Eigenschaft 164
Einsatzzweck 163
global 164
Inhalt löschen 180
lokal 164
löschen 171, 238
mit set deklarieren 166
mit Wert addieren 204
mit Wert multiplizieren 203
mit Zuweisungsoperator = 168
Suffix 466
Typumwandung 182
Typ ermitteln 172
Typ festlegen 192
Wert subtrahieren 205
Variablenbezeichner 168
dynamisch ermitteln 162
Variablen auflisten 174, 183, 345
VBScript 559
veraltet 62
Vererbung 78, 350, 354
ActionScript 2 407
Eigenschaften 355
Fähigkeiten 353
klassische Schreibweise 407
Vergleichsoperatoren 212
Verhalten 46, 446
anpassen 450
anwenden 446
vorgefertigt 124
Verhaltensweisen 447
Verknüpfungsnamen 250
Verlauf 374, 379
Farbe 380
Größe 380
Richtung 380
Veröffentlichen 528
Einstellungen 523
Versionen 44
Versionen im Vergleich 56
Versionsmanagement 463
Versionsmanager 463
Versionsüberprüfung 478
Version 7.2 604
Fehlerkorrektur 605
Verzeichnisstruktur 463
Vezerrung 506
Video 502, 639
steuern 430, 432
Video ausblenden 448
Video unterbrechen 448
visible 365
Visual Basic 563
Visual C++ 563
Visual Studio 563
void 239
Vollbildmodus 146, 149, 447, 555
Voreinstellungen 91
vorhergehenden Szene 132
Vorlagen 341, 352, 396, 528, 540
Variable 541
Vorlagenvariablen 541
vorzeichenlose bitweise Verschiebung 208, 231
W
Wahrheitswert 174, 188
Webbrowser 36
Webcams 502
WebServiceConnector 433
WebServiceConnector-Komponente 430
Webservices 527
Wert 162
endlich 177
setzen 163
um 1 erhöhen 201
um 1 verringern 201
Wertebehälter 162
Wertebereich 163
while-Schleife 265
Whitespaces 111
Width 365, 556
Wiederverwendbare Elemente 426
Window 432
window.close 150
Windows
Flashdetection 483
Windows XP Service Pack 2 530
Wireframe 513
With-Anweisung 54
WLAN 520
wmode 549
X
XML 639
XML-Dokumente 25
XML-Objekte 590
XML-RPC 527
XMLConnector-Komponente 430
XMLNode 640
XMLSocket 641
XMLSocket-Instanz
Verbindung beenden, Ereignis
308
XMLUI 641
xmouse 365
xscale 366
XUL 452
Y
ymouse 366
yscale 366
Yugop 497
Z
z-Achse 510
z-Reihenfolge 511
Zahl 174, 176, 189
Automatisches Runden 176
endlich 245
Formate 175
Globale Variablen 177
größte darstellbare 175
in Ganzzahl konvertieren 245
kleinste darstellbare 175
Zahl-Datentyp 175
Zehnerpotenzen 177
Zeichen
erlaubt 110
Zeichenkette 178, 189
in Ganzzahl umwandeln 186
in Gleitkommazahl umwandeln
187
in URL-Schreibweise konvertieren 244
Index
667
in Zahl konvertieren 245
Zeichenkodierung 310
zeichnen 374
Zeichnungsmethoden 368, 374
Zeilennummern anzeigen 85, 87
Zeilenumbruch 111, 179
Zeitleiste 106, 280
abspielen 245
steuern 128
stoppen 246
Zeitleisten-Steuerung
Aktionen 127
668
Index
Zentrieren
mit ActionScript 548
mit HTML 546
Ziehen 498
Ziel
Angabe in Flash 4 und 5 281
drucken 245
Pfad 280
Zieleditor 96
Zielpfad einfügen 85, 95, 128
Zufallszahl 245
Zugriff verhindern 413
Zusammengesetzte Ausdrücke 197
Zusammengesetzte Zuweisung 200
Zustand 79, 279
Zustandsänderungen 339
Zuweisung 163, 170, 202
Zuweisungsoperatoren 36, 168,
197, 200
Zweidimensional 509
Zweidimensionale Objekte 509
Zwischenergebnisse 33
Herunterladen