Know-how für Kreative

Inhaltsverzeichnis
1 Erste Schritte
2 Versionen
3 Einführung in die Programmierung
4 Die Entwicklungsumgebung
5 Regeln
6 Anweisungen und Aktionen
7 Werte und Datentypen
8 Ausdrücke und Operatoren
9 Funktionen
10 Kontrollstrukturen
11 Dokumenten-Objektmodell und Gültigkeitsbereich (Scope)
12 Ereignisse
13 Objekterstellung
14 Vererbung
15 Movieclips
16 ActionScript 2.0
17 Komponenten
18 Codedesign und Konzeption
19 Flashdetection
20 Aussergewoehnliche Benutzerfuehrung
21 D mit Flash
22 Macromedia Central
23 HTML
24 JavaScript, ActiveX und Java
25 Flash undokumentiert
26 Vergangenheit, Gegenwart und Zukunft
27 Kurzreferenz
28 Buchtipps
29 Links
30 Die CD-ROM zum Buch
Index
Download: - ZIP, ca. 9,8 MB
Buch bestellen
Ihre Meinung?
<< zurück | Galileo Design / <openbook> / ActionScript | vor >>
ActionScript 1 und 2 von Sascha Wolter (http://www.saschawolter.de/) Objektorientierung und Codedesign mit Flash MX 2004
ActionScript 1 und 2 672 S., mit CD, Referenzkarte, 44,90 Euro Galileo Design ISBN 3-89842-221-6 |
| Kapitel 7 Werte und Datentypen
|  | 7.1 Variablen
|  |  | 7.1.1 Gültigkeitsbereich (engl. Scope)
|  |  | 7.1.2 Eigenschaften
|  |  | 7.1.3 Konstanten
|  |  | 7.1.4 Variablen mit set deklarieren
|  |  | 7.1.5 Variablen mit dem Zuweisungsoperator deklarieren
|  |  | 7.1.6 Lokale Variablen mit var deklarieren
|  |  | 7.1.7 Globale Variablen mit _global deklarieren
|  |  | 7.1.8 Variablen löschen
|  |  | 7.1.9 Den Typ einer Variablen ermitteln
|  | 7.2 Datentypen
|  |  | 7.2.1 Wahrheitswert (boolean)
|  |  | 7.2.2 Zahl (number)
|  |  | 7.2.3 Zeichenketten (string)
|  |  | 7.2.4 Null
|  |  | 7.2.5 Undefiniert (undefined)
|  |  | 7.2.6 Komplexe Datentypen (Objekte)
|  | 7.3 Typumwandlung
|  |  | 7.3.1 parseInt
|  |  | 7.3.2 parseFloat
|  |  | 7.3.3 Boolean (Funktion)
|  |  | 7.3.4 Number (Funktion)
|  |  | 7.3.5 String (Funktion)
|  |  | 7.3.6 Array (Funktion)
|  |  | 7.3.7 Object (Funktion)
|  | 7.4 Typisierung
|  |  | 7.4.1 Typen festlegen
|  |  | 7.4.2 Typisierung und Codehinweise
|  |  | 7.4.3 Laufzeit versus Kompilierung
## 7.4 Typisierung Mit Flash MX 2004 hat Macromedia Typisierung in ActionScript eingebaut. Typisierung erlaubt es, den Typ einer Variablen festzulegen, um eine falsche Verwendung zu vermeiden. Zum einen verhindert Flash so bereits beim Veröffentlichen bzw. beim Kompilieren, dass Methoden oder Eigenschaften verwendet werden, die gar nicht existieren, und zum anderen zeigt Flash auch an, wenn die Parameter oder Rückgabewerte von Funktionen oder Methoden falsch sind. Beispiel: var menge:Number; // Folgende Anweisung ist erlaubt menge = 123; // Folgende Anweisung erzeugt einen Fehler menge = "123"; ##### Siehe ActionScript 2.0 ab Seite 396 Gerade bei sehr großen Projekten mit mehreren Entwicklern ist die Typisierung ein mächtiges Werkzeug, um Fehler zu vermeiden. Doch leider funktioniert die Typsicherheit nicht zur Laufzeit, und zum anderen unterstützt Flash die typsichere Programmierung ohnehin nur, wenn die ActionScript 2.0-Option im Register Flash des Menüs Datei • Voreinstellungen für das Veröffentlichen aktiviert ist. Diese steht erst mit Flash MX 2004 zur Verfügung, funktioniert aber auch bei Flash 6-Projekten. ### 7.4.1 Typen festlegen Den Typ einer Variablen oder Eigenschaft legen Sie durch eine Deklaration mit dem Schlüsselwort var fest, indem Sie dem Bezeichner getrennt durch einen Doppelpunkt den Typ bei der Erzeugung zuweisen: var bezeichner:Typ; Natürlich dürfen Sie der Variablen auch gleich einen Wert zuweisen: var bezeichner:Typ = Wert; Dies sollte aber wegen der besseren Lesbarkeit besser in zwei aufeinander folgenden Anweisungen geschehen:
    var bezeichner:Typ;
    bezeichner = Wert;
Anstelle des Typs geben Sie immer den Klassennamen des zugrunde liegenden Typs an:
    var meineZahl:Number;
    var meineZeichenkette:String;
    var meinObjekt:Object;
    var meineListe:Array;
Die Parameter einer Funktion typisieren Sie auf ganz ähnliche Art und Weise, indem Sie für jeden Parameter den Typ ebenfalls getrennt durch einen Doppelpunkt angeben:
    function erzeugeSterne(ziel:MovieClip, anzahl:Number) {
       var i:Number;
       var x:Number;
       var y:Number;
       var mc:MovieClip;
       for (i=anzahl; i>0; i--) {
          x = Math.random()*550;
          y = Math.random()*400;
          // Ein Symbol mit dem Verknüpfungsnamen "stern" wird benötigt
          mc = ziel.attachMovie("stern", "stern"+String(i), i);
          mc._x = x;
          mc._y = y;
       }
    }
    erzeugeSterne(_root, 10);
##### Rückgabewert Sollte eine Funktion einen Rückgabewert haben, dann können Sie diesen ebenfalls typisieren:
    // Berechne den Body-Mass-Index für Männer
    function berechneBMI(groesse:Number):Number {
       var bmi:Number;
       bmi = (groesse-100)/1.05;
       return bmi;
    }
    meinBMI = berechneBMI(178);
Und sollte eine Funktion keinen Rückgabewert besitzen, dann schadet es nicht, dies ebenfalls durch den Typ Void anzugeben:
    function gibNichtsZurueck():Void {
       // Anweisungen
    }
##### Ohne ActionScript 2.0 geht nur die Hälfte Leider ist eine Typisierung mit selbst erstellten Klassen nur möglich, wenn Sie diese Klassen mit ActionScript 2.0 und nicht durch Prototypen in ActionScript 1 erzeugt haben. Ohne ActionScript 2.0 beschränkt sich die Typsicherheit auf die in Flash bereits eingebauten Typen. ### 7.4.2 Typisierung und Codehinweise Durch die Typisierung erreichen Sie, dass Flash Codehinweise anzeigt. Sofern Flash den angegebenen Typ kennt, blendet der ActionScript-Editor dann die verfügbaren Methoden und Eigenschaften ein (siehe Codehinweis im Kapitel »Grundlagen« auf Seite 85). ### 7.4.3 Laufzeit versus Kompilierung Die Typsicherheit von Flash beschränkt sich leider auf das Kompilieren, also auf den Moment, in dem Sie Ihre Anwendung als SWF-Datei veröffentlichen. In diesem Fall gibt Flash alle erkannten Typfehler im Ausgabefenster aus. Leider lässt sich der Compiler von Flash jedoch recht einfach »austricksen«, so dass zur Laufzeit weiterhin Typfehler möglich sind. Diese erkennt Flash jedoch dann nicht mehr. Es reicht bereits aus, Bezeichnernamen dynamisch zu erzeugen, um die Typsicherheit zu umgehen: var meineZahl:Number; this["meineZahl"] = "Ich bin keine Zahl!"; Ebenfalls ist es mit der Typsicherheit dahin, wenn die Werte zur Laufzeit von außen, wie z.B. einem Server, eingelesen werden. Doch auch diese Schwierigkeiten lassen sich zumindest teilweise mit ein wenig Disziplin umgehen. Mehr dazu finden Sie in den Kapiteln 18, »Codedesign«, und 16, »ActionScript 2.0«. ##### Typfehler zur Laufzeit ermitteln Im Zusammenhang mit Flex hat Macromedia zumindest unter Windows eine Möglichkeit eingeführt, den Programmablauf inkl. Laufzeitfehlern zu protokollieren, sofern der Flash Debug Player installiert ist und die SWF-Datei außerhalb der Entwicklungsumgebung abspielt. Innerhalb des Benutzerordners (unter Windows XP ist dies meist das Verzeichnis C:\Dokumente und Einstellungen\[Benutzername]) findet sich die Datei mm.cfg, in der die dafür notwendigen Einstellungen festgelegt werden. Sollte diese Datei bei Ihnen nicht vorhanden sein, dann können Sie diese auch selber anlegen. Die folgenden zwei Zeilen aktivieren einen Fehlerbericht und das Protokollieren von trace-Anweisungen:
    ErrorReportingEnable=1
    TraceOutputFileEnable=1
Die maximale Anzahl an Meldungen legt MaxWarnings=500 fest. Normalerweise schreibt Flash dann alle Meldungen in die Datei flashlog.txt, die sich im selben Verzeichnis wie die Datei mm.cfg befindet. Sie können über den Parameter TraceOutputFileName=C:\log.txt aber auch eine andere Datei angeben.
<< zurück | <top> | vor >>
Zum Katalog
ActionScript 1 und 2 bestellen
Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen? Ihre Meinung
Buchtipps
| Einstieg in ActionScript
| Einstieg in Flash 8
| Flash 8 und PHP
| Flash 8-Tutorials
| Dreamweaver 8
| Webseiten programmieren und gestalten
Shopping
Versandkostenfrei bestellen in Deutschland und Österreich Info

Copyright © Galileo Press GmbH 2005
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

[Galileo Design]
Galileo Press GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de