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 6 Anweisungen und Aktionen
|  | 6.1 Aktionen für die Zeitleisten- und Movieclip-Steuerung
|  |  | 6.1.1 gotoAndPlay
|  |  | 6.1.2 gotoAndStop
|  |  | 6.1.3 nextFrame
|  |  | 6.1.4 nextScene
|  |  | 6.1.5 play
|  |  | 6.1.6 prevFrame
|  |  | 6.1.7 prevScene
|  |  | 6.1.8 stop
|  |  | 6.1.9 startDrag
|  |  | 6.1.10 stopDrag
|  |  | 6.1.11 toggleHighQuality
|  |  | 6.1.12 duplicateMovieClip
|  |  | 6.1.13 removeMovieClip
|  | 6.2 Aktionen zum Drucken
|  |  | 6.2.1 Drucken verhindern
|  |  | 6.2.2 Ausgabegröße
|  |  | 6.2.3 print
|  |  | 6.2.4 printNum
|  |  | 6.2.5 printAsBitmap
|  |  | 6.2.6 printAsBitmapNum
|  | 6.3 Aktionen für die Sound-Steuerung
|  |  | 6.3.1 stopAllSounds
|  | 6.4 Aktionen für die Kommunikation
|  |  | 6.4.1 fscommand allowScale
|  |  | 6.4.2 fscommand exec
|  |  | 6.4.3 fscommand fullScreen
|  |  | 6.4.4 fscommand quit
|  |  | 6.4.5 fscommand showMenu
|  |  | 6.4.6 fscommand trapAllKeys
|  |  | 6.4.7 getURL
|  |  | 6.4.8 loadMovie
|  |  | 6.4.9 loadMovieNum
|  |  | 6.4.10 loadVariables
|  |  | 6.4.11 loadVariablesNum
|  |  | 6.4.12 unloadMovie
|  |  | 6.4.13 unloadMovieNum
## 6.4 Aktionen für die Kommunikation Flash bietet zahlreiche Schnittstellen zur Außenwelt. Einige der wichtigsten stellen wir in diesem Kapitel vor. Dazu zählen:
| Steuerung des Stand-alone-Players und -Projektors
| Aufruf von beliebigen URLs
| Laden von SWF-Dateien und von JPEG-Bildern
| Laden von Daten wie z.B. den Texten einer Website
##### Abspielumgebung Sollten Sie die Abspielumgebung einer Flash-Anwendung beeinflussen wollen, dann benötigen Sie die Aktion fscommand. Diese Aktion sendet Nachrichten an das umgebende Programm, egal ob es sich um einen Webbrowser, Stand-alone-Player, Stand-alone-Projektor, ActiveX-Host (z.B. C++-Programm) oder den Macromedia Director handelt. Wie Sie mit fscommand in einem Webbrowser JavaScripts (Netscape) oder VBScripts (Microsoft) aufrufen, erfahren Sie im Kapitel 24, JavaScript. Die genaue Arbeitsweise dieser Aktionen legen Sie mit einem Befehl und – falls nötig – einem weiteren Parameter fest. Der Parameter liefert zusätzliche Werte an die Umgebung. Die von Stand-alone-Projektor und -Player unterstützten Befehle finden Sie in der folgenden Tabelle.

Tabelle 6.3 fscommands für den Stand-alone-Player und -Projektor

Befehl | Wirkung
allowScale | Legt fest, ob eine Anwendung skaliert oder in der Originalgröße dargestellt wird.
exec | Startet eine externe Anwendung.
fullScreen | Aktiviert oder deaktiviert den Vollbildmodus.
quit | Beendet den Stand-alone-Projektor oder -Player.
showMenu | Aktiviert oder deaktiviert das Kontextmenü (rechte Maustaste oder (Ctrl) + Mausklick). Die Menüeinträge Einstellungen und Info über Flash Player 7 (je nach Version) lassen sich nicht deaktivieren.
trapAllKeys | Verhindert, dass der Benutzer einen Stand-alone-Projektor oder -Player ungewollt durch Tasteneingaben beeinflusst.
##### Keine Wirkung im Webbrowser Die Befehle der Aktion fscommand haben seit Flash MX keine Wirkung innerhalb des Webbrowsers. In der Entwicklungsumgebung verhalten sich manche Einstellungen ebenfalls anders als im Stand-alone-Projektor oder -Player. ##### Hyperlinks Ein wesentliches Konzept von Websites sind Hyperlinks. Bei Hyperlinks handelt es sich um Verweise zwischen Dokumenten. Flash ist in der Lage, solche Hyperlinks zu verwenden und zu anderen Dokumenten wie z.B. HTML-Seiten zu verweisen. Der dafür notwendige Befehl heißt getURL. Sollten Sie nur Daten austauschen oder möchten eine SWF-Datei laden, dann werfen Sie doch einen Blick auf die Aktionen bzw. die gleichnamigen Movieclip-Methoden loadMovie und loadVariables! Ist eine Flash-Anwendung beispielsweise sehr groß oder arbeiten mehrere Entwickler gleichzeitig an ihr, dann macht es Sinn, das Projekt in unabhängige Module zu unterteilen, die durch loadMovie oder loadMovieNum verknüpft werden. Wenn Sie z.B. einen Katalog entwickeln, dann ist es häufig von Vorteil, für jedes Produkt eine eigene SWF-Datei zu erstellen, anstatt eine große Gesamtdatei zu liefern. Diese große Datei lässt sich nicht nur schlechter warten, sondern es dauert beim Anwender länger, bis sie geladen ist. Möchten Sie die Inhalte (wie z.B. Textinformationen) der Flash-Anwendung nicht fest mit dem Film »verdrahten«, dann bieten sich die Aktionen loadVariables und loadVariablesNum an. Diese Aktionen ermöglichen es, dass eine Flash-Anwendung zur Laufzeit Werte einliest. So können Inhalte dynamisch gehalten werden, ohne dass Sie oder Ihr Kunde die SWF-Datei verändern. ### 6.4.1 fscommand allowScale Falls Sie ein Flash-Anwendung beim Abspielen so groß wie möglich skalieren möchten, dann wählen Sie für das fscommand den Befehl allowScale mit dem Parameter true. Um ein Flash-Anwendung in Originalgröße, also bei 100% darzustellen, wählen Sie den Befehl allowScale mit dem Parameter false.
| Bemerkung:
| Diese Aktion steht seit dem Flash Player 3 zur Verfügung. Alternativ kann die Methode scaleMode des Stage-Objektes eingesetzt werden.
| Syntax:
>     fscommand("allowScale", aktiviert);
| Parameter:
| Diese Aktion besitzt neben dem als Zeichenkette angegebenen Befehl "allowScale" noch den booleschen Parameter aktiviert für true oder false, der üblicherweise als Zeichenkette angegeben wird.
| Beispiel:
>     // Skaliere die Anwendung so groß wie möglich
>     fscommand("allowScale", "true");
>     // Stelle die Anwendung in Originalgröße dar
>     fscommand("allowScale", "false");
| Das seit Flash MX verfügbare Bühnenobjekt (engl. Stage) hilft sowohl im Webbrowser als auch im Stand-alone-Projektor oder -Player, die Skalierung zu beeinflussen:
>     // Skaliere die Anwendung so groß wie möglich
>     Stage.scaleMode="showAll";
>     // Stelle die Anwendung in Originalgröße dar
>     Stage.scaleMode="noScale";
##### Skalieren im Webbrowser Um das Skalieren im Webbrowser zu beeinflussen, stehen innerhalb der Einstellungen für Veröffentlichungen im Register HTML weitere Parameter bereit. ### 6.4.2 fscommand exec ##### 02_Programmierung\ fscommand\ exec.fla Um eine Anwendung aufzurufen, wählen Sie für die Aktion fscommand den Befehl exec. Als weiteren Parameter geben Sie in den Namen der Anwendung an.
| Bemerkung:
| Diese Aktion steht seit dem Flash Player 3 zur Verfügung. Im Webbrowser funktioniert dieser Befehl nicht.
| Syntax:
>     fscommand("exec", anwendung);
| Parameter:
| Diese Aktion besitzt neben dem als Zeichenkette angegebenen Befehl "exec" noch den Parameter anwendung für den Pfad zu der auszuführenden Anwendung, der als Zeichenkette angegeben wird.
| Beispiel:
>     // Starte Anwendung
>     fscommand("exec", "notepad.exe");
##### Einschränkungen des fscommand exec Das Starten einer externen Anwendung aus einem Stand-alone-Projektor heraus unterliegt zahlreichen Einschränkungen. Macromedia hat diese zum Teil erst in Flash MX eingebaut, um den Missbrauch zu verhindern (http://www.macromedia.com/support/flash/ts/documents/Stand-alone_update.htm). Flash-Anwendungen, die Sie über das Internet betrachten, können grundsätzlich keine Anwendungen auf Ihrem Rechner aufrufen! Bei Flash-Anwendungen in einem Stand-alone-Projektor oder -Player muss die Anwendung sich seit Flash MX unterhalb desselben Verzeichnisses im Ordner fscommand befinden. Den Ordnernamen geben Sie nicht mit an. Der Name der Anwendung darf nur Buchstaben, Zahlen, Klammern, den Unterstrich und den Punkt enthalten. ### 6.4.3 fscommand fullScreen ##### 02_Programmierung\ fscommand\ 3DInteraktion.fla Falls eine Flash-Anwendung als Bildschirmschoner oder als eigenständige Anwendung außerhalb des Webbrowsers abspielt, wird häufig ein Vollbildmodus erwartet. Diesen erreichen Sie über die Aktion fscommand("fullScreen", "true");. Zurück in den Fenstermodus gelangen Sie über fscommand("full Screen", "false");. Der Befehl fullscreen funktioniert im Stand-alone-Projektor und Stand-alone-Player, aber nicht im Webbrowser oder in der Entwicklungsumgebung.
| Bemerkung:
| Diese Aktion steht seit dem Flash Player 3 zur Verfügung. In der Entwicklungsumgebung und im Webbrowser funktioniert dieser Befehl nicht.
| Syntax:
>     fscommand("fullScreen", aktiviert);
| Parameter:
| Diese Aktion besitzt neben dem als Zeichenkette angegebenen Befehl "fullScreen" noch den booleschen Parameter aktiviert für true oder false, der üblicherweise als Zeichenkette angegeben wird.
| Beispiel:
>     // Stelle die Anwendung im Vollbild dar
>     fscommand("fullScreen", "true");
>     // Stelle die Anwendung in einem Fenster dar
>     fscommand("fullScreen", "false");
### 6.4.4 fscommand quit Um einen Stand-alone-Projektor oder -Player zu beenden, wählen Sie den Befehl quit für die Aktion fscommand.
| Bemerkung:
| Diese Aktion steht seit dem Flash Player 3 zur Verfügung. In der Entwicklungsumgebung und im Webbrowser funktioniert dieser Befehl nicht.
| Syntax:
>     fscommand("quit");
| Parameter:
| Diese Aktion besitzt außer dem als Zeichenkette angegebenen Befehl "quit" keine Parameter.
| Beispiel:
>     // Beende die Anwendung
>     fscommand("quit");
##### Beenden im Webbrowser Um eine Flash-Anwendung im Webbrowser zu beenden, gibt es die JavaScript-Anweisung window.close();, die Sie gemeinsam mit der getURL-Aktion anwenden können: getURL("javascript:window.close();"); Diese Anweisung zeigt eine Meldung und schließt dann das zugehörige Browser-Fenster. ### 6.4.5 fscommand showMenu Um das Kontextmenü des Stand-alone-Projektors oder Players zu reduzieren, verwenden Sie die Aktion fscommand mit dem Befehl showMenu.
| Bemerkung:
| Diese Aktion steht seit dem Flash Player 3 zur Verfügung. Alternativ kann die Methode showMenu des Stage-Objektes eingesetzt werden.
| Syntax:
>     fscommand("showMenu", aktiviert);
| Parameter:
| Diese Aktion besitzt neben dem als Zeichenkette angegebenen Befehl "showMenu" noch den booleschen Parameter aktiviert für true oder false, der üblicherweise als Zeichenkette angegeben wird. Der Parameter true (wahr) schaltet das Kontextmenü (rechte Maustaste oder (Ctrl) + Mausklick) ein. Bei false (falsch) werden nur die Menüeinträge Einstellungen und Über Macromedia Flash Player 6 angezeigt. Sollten Sie den nur für Entwickler vorgesehenen Debug-Player verwenden, dann sehen Sie außerdem den Eintrag Debugger. Ganz lässt sich das Menü ohne Zusatzprogramme leider nicht deaktivieren.
| Beispiel:
| // Reduziere das Kontextmenü fscommand("showMenu", "false");
| Das seit Flash MX verfügbare Bühnenobjekt (engl. Stage) hilft sowohl im Webbrowser als auch im Stand-alone-Projektor oder -Player, das Kontextmenü ein- und auszuschalten:
>     // Reduziere das Kontextmenü
>     Stage.showMenu=false;
##### Kontextmenü im Webbrowser Um das Kontextmenü im Webbrowser zu beeinflussen, steht innerhalb der Einstellungen für Veröffentlichungen im Register HTML der Parameter Menü anzeigen bereit. ### 6.4.6 fscommand trapAllKeys Einige Tastenkombinationen werden vom Stand-alone-Projektor und -Player abgefangen. Dazu zählen (Strg)/(ï)+(F) für den Vollbildmodus und (Strg)/(ï)+(Q) zum Beenden. Die Aktion fscommand gemeinsam mit dem Befehl trapAllKeys und dem Parameter true verhindert dies und leitet die Tastatureingaben direkt an die Flash-Anwendung weiter. Bis auf wenige Tastenkombinationen wie z.B. (Alt)+ (F4) bzw. (†)+(Q) zum Beenden lässt sich ein Stand-alone-Projektor oder -Player so nicht mehr ungewollt beeinflussen.
| Bemerkung:
| Diese Aktion steht seit dem Flash Player 5 zur Verfügung.
| Syntax:
>     fscommand("trapAllKeys", aktiviert);
| Parameter:
| Diese Aktion besitzt neben dem als Zeichenkette angegebenen Befehl "trap AllKeys" noch den booleschen Parameter aktiviert für true oder false, der üblicherweise als Zeichenkette angegeben wird.
| Beispiel:
>     // Deaktiviere Tastenbefehle des Flash-Players
>     fscommand("trapAllKeys", "true");
##### Tastenkürzel-Problem Die Aktionen fscommand trapAllKeys kann dazu führen, dass Tastaturbefehle zum Kopieren und Einfügen ((Strg)/(ï)+(C) und (Strg)/(ï)+(V)) nicht mehr funktionieren. ### 6.4.7 getURL ##### 02_Programmierung\ fscommand\ geturl getURL ruft die angegebene URL auf. In der Regel wechseln Sie mit dieser Aktion zu einem anderen HTML-Dokument. Aber auch andere URLs sind erlaubt. Dazu zählt jedes Protokoll, das der installierte Webbrowser versteht. Erlaubt sind neben http beispielsweise mailto, und javascript.
| Bemerkung:
| Diese Aktion steht seit dem Flash Player 2 zur Verfügung. Das automatische Versenden von Variablen mit den Optionen GET und POST funktioniert erst seit dem Flash Player 4. Als Alternative verfügt Flash seit Version 5 über die gleichnamige Methode des Movieclip-Objektes.
| Syntax:
>     getURL(url);
>     getURL(url, fenster);
>     getURL(url, fenster, versenden);
| Parameter:
| Als ersten Parameter für getURL müssen Sie die URL als Zeichenkette angeben. Bei dieser URL kann es sich um alles handeln, was in der Browserzeile des Webbrowsers oder als Link in einem HTML-Dokument funktioniert. Dabei sind sowohl relative als auch absolute Adressen erlaubt. Absolute Adressen geben Sie in der Form http://www.meinserver.de/meindokument.html an. Vergessen Sie dabei nicht das Protokoll am Anfang. Für HTML-Dokumente lautet es z.B. http. Bei relativen Pfaden wie produkte/index.html wird das Protokoll nicht angegeben. Der optionale Parameter für das Fenster bestimmt in einer Zeichenkette, wo das aufgerufene Dokument angezeigt wird:
"_blank" ist ein neues Fenster. "_parent" ist das übergeordnete Fenster (oder das aktuelle Frameset). Falls das Dokument aus einem Frame aufgerufen wird, ersetzt es das gesamte Frameset. "_self" ist das aktuelle Fenster (oder der aktuelle Frame). "_top" ist das aktuelle Browser-Fenster. Eventuell vorhandene Frames werden entfernt. Falls Sie selber HTML-Dokumente entwickeln, können Sie als Fenster auch den Namen eines HTML-Frames angeben. Falls Sie nichts angeben, wird wie bei _self das aktuelle Fenster (bzw. der aktuelle Frame) als Ziel verwendet. Um an die angegebene Adresse Werte zu übermitteln, geben Sie als dritten Parameter eine passende Methode an. Sie bestimmen, ob die aktuellen Variablen nicht, mit der GET- oder mit der POST-Methode versendet werden sollen. Bei der GET-Methode können Sie die Werte – je nach Webbrowser – in der URL-Zeile ablesen. Bei der POST-Methode werden die Werte nicht zusammen mit der URL, sondern separat übertragen, wodurch deutlich größere Informationsmengen möglich sind. Die POST-Methode ist zwar in den meisten Fällen die bessere Wahl, hat aber auch Nachteile: Manch eine Firewall und der Internet Explorer 4.5 unter Mac OS kommen nicht damit zurecht. Falls Sie Werte ermitteln und innerhalb Flash weiter verarbeiten möchten, dann sollten Sie eine andere Methode wie z.B. die Aktion loadVariables verwenden, um Daten an einen Server zu schicken.
| Beispiel:
>     getURL("meineseite.html");
>     getURL("meineseite.html", "_blank");
>     getURL("meineseite.html", "_blank", "POST");
getURL versendet auch E-Mails. Die meisten Browser unterstützen das Erzeugen einer E-Mail über die URL. Dass es sich bei der angegebenen Adresse um eine E-Mail handelt, erkennt der Browser an dem vorangestellten mailto. Diesem folgt die Adresse.
    meinButton.onRelease = function () {
       // E-Mail versenden
       getURL("mailto:buch@flashforum.de");
    };
Optional kann auch der Name des Empfängers angegeben werden. Dann muss die Adresse aber in Klammern (<>) stehen. Je nach Browser lassen sich mit & noch weitere Angaben wie subject, cc, body usw. verknüpfen. Die zusätzlichen Angaben werden durch ein ? von der Adresse getrennt.
    meinButton.onRelease = function () {
       // E-Mail versenden
       getURL("mailto:Sascha Wolter<buch@flashforum.de>?subject=
        Flash MX Buch&body=E-Mail mit getURL");
    };
##### Protokolle Neben den vom Browser unterstützten Protokollen wie http, https, ftp, mailto, javascript usw. versteht die Aktion getURL auch Flash-eigene Befehle wie print (siehe Aktionen zum Drucken auf Seite 136) und fscommand. Anstelle von fscommand("allowScale", "true"); können Sie beispielsweise auch getURL("fscommand:allowScale", "true"); schreiben. ### 6.4.8 loadMovie Die Aktionen loadMovie lädt andere SWF-Dateien bzw. JPEG-Bilder in einen Movieclip. Das Laden einer SWF-Datei bewirkt, dass der Flash Player mehrere Anwendungen bzw. Bilder gleichzeitig anzeigt oder zwischen verschiedenen Flash-Anwendungen hin und her wechselt, ohne extra ein neues HTML-Dokument zu benötigen. Um eine geladene Anwendung wieder zu entfernen, wählen Sie die Aktion unloadMovie.
| Bemerkung:
| Diese Aktion steht seit dem Flash Player 3 zur Verfügung. Das automatische Versenden von Variablen mit den Optionen GET und POST funktioniert erst seit dem Flash Player 4. Als Alternative verfügt Flash seit Version 5 über die gleichnamige Methode des Movieclip-Objektes.
| Syntax:
>     loadMovie(url, ziel);
>     loadMovie(url, ziel, versenden);
| Parameter:
| Der erste Parameter URL legt den Pfad für die Flash Player-Datei, die geladen werden soll, als Zeichenkette fest. Seit Flash MX dürfen Sie an dieser Stelle auch den Pfad zu einer JPEG-Datei angeben. Für den Dateinamen sollte möglichst ein relativer Pfad verwendet werden: Für die Verwendung in einem Stand-alone-Player oder für das Testen in Flash müssen die Flash Player-Dateien (SWF) im gleichen Verzeichnis oder in einem Unterverzeichnis gespeichert werden. Natürlich können Sie auch absolute Pfade verwenden, die sich aber – falls Ihre Anwendung in einem Webbrowser läuft – unter der gleichen Domain befinden sollten (andernfalls müssen Sie sich mit den etwas verwirrenden Sicherheitsbeschränkungen des Flash-Players herumschlagen).
| In welchem Ziel der Film geladen wird, bestimmen Sie mit dem zweiten Parameter. Hier geben Sie den Instanznamen eines Movieclips als Zeichenkette an. In jedem Ziel wird immer nur eine Flash-Datei abgespielt.
| Mit dem optionalen dritten Parameter bestimmen Sie, ob Variablen versendet werden sollen. Der Empfänger (in der Regel ein Server) muss als Ergebnis einen Flash Player-Film (SWF) oder ein JPEG liefern.
| Beispiel:
>     // Lade SWF-Datei
>     loadMovie("meinFilm.swf", "meinMovieClip");
>     loadMovie("meinFilm.swf", "meinMovieClip", "POST");
>     // Alternative Methode seit Flash 5
>     meinMovieClip.loadMovie("meinFilm.swf");
>     meinMovieClip.loadMovie("meinFilm.swf", "POST");
| Anstelle einer Flash-Datei können Sie mit der Aktion loadMovie seit Flash MX JPEG-Bilder laden. Abgesehen von dem neuen Medium verhält sich das Laden eines Bildes genauso wie das Laden einer Flash-Datei.
>     loadMovie("meinbild.jpg", "meinMovieClip");
>     meinMovieClip.loadMovie("meinbild.jpg");
| Bilder entfernen Sie im Übrigen wieder, indem Sie wie bei SWF-Dateien die Aktion unloadMovie verwenden.
##### Ausrichten, positionieren und skalieren Falls Sie mehrere Anwendungen abspielen möchten, ist es am einfachsten, für alle Dateien die gleichen Dokumenteigenschaften (Bildrate und Format) zu verwenden. Auf diese Weise können Sie das Design und die Abspielgeschwindigkeit besser planen. Flash richtet unterschiedlich große Dateien immer an der linken oberen Ecke der Datei in Stufe null (Hauptfilm bzw. _level0) aus. Um die Position, Größe und Drehung einfacher zu bestimmen, geben Sie einen Movieclip anstelle einer Stufe als Ziel an. ### 6.4.9 loadMovieNum Die Aktion loadMovieNum lädt andere SWF-Dateien bzw. JPEG-Bilder in eine Stufe (engl. Level). Das Laden einer SWF-Datei bewirkt, dass der Flash Player mehrere Anwendungen gleichzeitig anzeigt oder zwischen verschiedenen Flash-Dateien hin und her wechselt, ohne extra ein neues HTML-Dokument zu benötigen. Um eine geladene Datei wieder zu entfernen, wählen Sie die Aktion unloadMovieNum.
| Bemerkung:
| Diese Aktion steht seit dem Flash Player 3 zur Verfügung. Das automatische Versenden von Variablen mit den Optionen GET und POST funktioniert erst seit dem Flash Player 4. Als Alternative verfügt Flash seit Version 5 über die loadMovie-Methode des Movieclip-Objektes. Bitte beachten Sie, dass die alternative Methode nur dann funktioniert, wenn die Stufe bereits existiert. Sonst benötigen Sie die Aktion!
| Syntax:
>     loadMovieNum(url, stufe);
>     loadMovieNum(url, stufe, versenden);
| Parameter:
| Der erste Parameter URL legt den Pfad für die Flash Player-Datei, die geladen werden soll, als Zeichenkette fest. Seit Flash MX dürfen Sie an dieser Stelle auch den Pfad zu einer progressiven JPEG-Datei angeben. Für den Dateinamen sollte möglichst ein relativer Pfad verwendet werden: Für die Verwendung in einem Stand-alone-Player oder für das Testen in Flash sollten die Flash Player-Dateien (SWF) im gleichen Verzeichnis oder einem Unterverzeichnis gespeichert werden. Natürlich können Sie auch absolute Pfade verwenden, die sich aber – falls Ihr Film in einem Webbrowser läuft – unter der gleichen Domain befinden sollten (andernfalls müssen Sie sich mit den Sicherheitskonzepten der diversen Flash Player auseinander setzen).
| Diese Aktion erfordert neben der URL der zu ladenden SWF-Datei oder des JPEGs als zweiten Parameter auch die Angabe des Ortes, an dem der Inhalt platziert werden soll. Bei loadMovie geben Sie an dieser Stelle eine Movieclip-Instanz als Ziel an, loadMovieNum benötigt eine Stufe als Zahl.
| Mit dem optionalen dritten Parameter bestimmen Sie, ob Variablen versendet werden sollen. Der Empfänger (in der Regel ein Server) muss als Ergebnis einen Flash Player-Film (SWF) oder ein JPEG liefern.
| Beispiel:
>     // Lade SWF-Datei
>     loadMovieNum("meinFilm.swf", 1);
>     loadMovieNum("meinFilm.swf", 1, "POST");
>     // Alternative Methode seit Flash 5 (nur bei bereits existierender Stufe)
>     _level1.loadMovie("meinFilm.swf");
>     _level1.loadMovie("meinFilm.swf", "POST");
| Anstelle einer Flash-Datei können Sie mit der Aktion loadMovieNum seit Flash MX JPEG-Bilder laden. Abgesehen von dem neuen Medium verhält sich das Laden eines Bildes genauso wie das Laden einer Flash-Anwendung.
>     loadMovieNum("meinbild.jpg", 1);
>     _level1.loadMovie("meinbild.jpg");
| Bilder entfernen Sie im Übrigen wieder, indem Sie wie bei SWF-Dateien die Aktion unloadMovieNum verwenden.
##### Der Hauptfilm oder _level0 Eine Ausnahme bildet die Stufe null: In die Stufe null wird immer die erste Flash-Datei geladen, die dann die Bildrate, Hintergrundfarbe und die Abmessungen bestimmt. Wenn Sie eine SWF-Datei in die nullte Stufe laden, setzt Flash alle Werte zurück und löscht auch den Inhalt anderer Stufen. ### 6.4.10 loadVariables ##### 02_Programmierung\fscommand\loadVariables Die Aktion loadVariables lädt Daten in die Flash-Anwendung oder einen Movieclip ein und erzeugt passende Variablen zur weiteren Verarbeitung.
| Bemerkung:
| Diese Aktion steht seit dem Flash Player 4 zur Verfügung. Alternativ sollte die gleichnamige Methode des Movieclip-Objektes eingesetzt werden.
| Syntax:
>     loadVariables(url, ziel);
>     loadVariables(url, ziel, versenden);
| Parameter:
| Der erste Parameter URL legt den Pfad für die Daten als Zeichenkette fest, die geladen werden sollen. Für den Dateinamen sollte möglichst ein relativer Pfad verwendet werden: Für die Verwendung in einem Stand-alone-Player oder für das Testen in Flash müssen die Daten im gleichen Verzeichnis oder einem Unterverzeichnis gespeichert werden. Natürlich können Sie auch absolute Pfade verwenden, die sich aber – falls Ihre Anwendung in einem Webbrowser läuft – unter der gleichen Domain befinden müssen (andernfalls müssen Sie sich mit den Sicherheitskonzepten der diversen Flash Player auseinander setzen, um auch den domainübergreifenden Zugriff zu erlauben).
| In welchem Ziel die Daten geladen werden, bestimmen Sie mit dem zweiten Parameter. Hier geben Sie den Instanznamen eines Movieclips als Zeichenkette an.
| Mit dem optionalen dritten Parameter bestimmen Sie, ob Variablen versendet werden sollen. Der Empfänger (in der Regel ein Server) muss als Ergebnis Daten im application/x-www-urlformencoded-Format liefern.
| Beispiel:
>     loadVariables("meinText.txt", "meinMovieClip");
>     loadVariables("meinText.txt ", "meinMovieClip", "POST");
>     // Alternative seit Flash 5
>     meinMovieClip.loadVariables("meinText.txt");
>     meinMovieClip.loadVariables("meinText.txt ", "POST");
##### application/x-www-urlformencoded Die Daten, die von Flash-Anwendungen geladen werden, müssen im Format application/x-www-urlformencoded vorliegen. D.h. die Inhalte müssen als Variablen in der Form variable1=wert1&variable2=wert2 übergeben werden. Dabei sollten Sie unbedingt darauf achten, dass keine Leerzeichen, Zeilenumbrüche oder HTML-Tags integriert werden. Diese Sonderzeichen müssen durch die Prozentschreibweise dargestellt werden: Für einen Zeilenumbruch verwenden Sie z.B. %0D. Als URL können Sie in Flash jederzeit auch ein Server-Skript angeben. Es ist dabei für Flash unerheblich, welche Sprache auf der Serverseite eingesetzt wird. Es zählt nur, was als Ergebnis vom Server zurück zur Flash-Anwendung gesendet wird. Diese Daten müssen das richtige Format haben. Für den Test hat es sich als nützlich erwiesen, die serverseitigen Skripte erst einmal über ein normales HTML-Formular zu testen. Das gelieferte Ergebnis können Sie sich dann im Browser anschauen und dort den Quelltext auf eventuell unerwünschte Zeichen überprüfen. Das folgende Beispiel lädt eine Textdatei ein und stellt den Inhalt in Flash dar. Die hier gewählte Schreibweise ist übrigens auch noch mit älteren Flash-Versionen wie z.B. Flash 4 kompatibel. ##### Text laden
1. | Erstellen Sie einen Textblock
Um einen Text in Ihrer Anwendung darzustellen, benötigen Sie einen Textblock, der dynamisch ist. Diese Einstellung für den Texttyp nehmen Sie für einen markierten Textblock im Eigenschafteninspektor vor.
2. | Bestimmen Sie eine Variable als Wertecontainer
Damit Sie in dem Textblock den geladenen Text darstellen können, benötigt dieser eine Variable wie z.B. content. Die Variable legen Sie für einen markierten Textblock ebenfalls im Eigenschafteninspektor im Feld var fest.
3. | Erstellen Sie eine Schaltfläche zum Laden der Daten
Verwenden Sie eine Schaltfläche, und weisen Sie dieser im ersten Schlüsselbild der Hauptzeitleiste das folgende Skript zu, damit der Text geladen und angezeigt wird.
    btn_loadText.onRelease = function () {
       loadVariables("text.txt", "");
    }
Bitte beachten Sie, dass für die Aktion als Ort »Ziel« ohne weitere Angaben verwendet wird. Dies führt dazu, dass die Daten an die Stelle geladen werden, an der sowohl die Schaltfläche als auch der Textblock platziert sind. Alternativ hätten Sie auch loadVariablesNum("text.txt", 0) schreiben können.
4. | Erstellen Sie den zu ladenden Text
Erstellen Sie eine Textdatei mit der Bezeichnung, die Sie für das Laden als URL angegeben haben. Beginnen Sie die Textdatei mit dem Namen der Variablen für den Textblock und einem Gleichzeichen. Alle folgenden Zeichen werden dann dieser Variablen zugewiesen und nach dem Einlesen in Flash im Textblock angezeigt:
    content=Hier könnten Ihre Daten stehen!
Leider sind einige Sonderzeichen nicht erlaubt. Für einen Zeilenumbruch benötigen Sie beispielsweise die Zeichenkette %0D. Um auf Nummer sicher zu gehen, bietet sich somit die folgende Schreibweise für den Inhalt an (bei Unicode kann auf die URL-Encodierung meist verzichtet werden):
    content=Hier%20k%C3  %B6nnten%20Ihre%20Daten%20stehen%21
### 6.4.11 loadVariablesNum Die Aktion loadVariablesNum lädt Daten in eine Flash-Anwendung in einer Stufe (engl. Level) und erzeugt passende Variablen zur weiteren Verarbeitung.
| Bemerkung:
| Diese Aktion steht seit dem Flash Player 4 zur Verfügung. Alternativ sollte die Methode loadVariables des Movieclip-Objektes eingesetzt werden.
| Syntax:
>     loadVariablesNum(url, stufe);
>     loadVariablesNum(url, stufe, versenden);
| Parameter:
| Der erste Parameter URL legt den Pfad für die Daten als Zeichenkette fest, die geladen werden sollen. Für den Dateinamen sollte möglichst ein relativer Pfad verwendet werden: Für die Verwendung in einem Stand-alone-Player oder für das Testen in Flash müssen die Daten im gleichen Verzeichnis oder einem Unterverzeichnis gespeichert werden. Natürlich können Sie auch absolute Pfade verwenden, die sich aber – falls Ihre Anwendung in einem Webbrowser läuft – unter der gleichen Domain befinden müssen (andernfalls müssen Sie sich mit den Sicherheitskonzepten der diversen Flash Player auseinander setzen, um auch den domainübergreifenden Zugriff zu erlauben).
| In welche Stufe die Daten geladen werden, bestimmen Sie mit dem zweiten Parameter. Hier geben Sie die Nummer der Stufe als Ganzzahl an.
| Mit dem optionalen dritten Parameter bestimmen Sie, ob Variablen versendet werden sollen. Der Empfänger (in der Regel ein Server) muss als Ergebnis Daten im application/x-www-urlformencoded-Format liefern.
| Beispiel:
>     loadVariablesNum("meinText.txt", 0);
>     loadVariablesNum("meinText.txt ", 0, "POST");
>     // Alternative seit Flash 5
>     _level0.loadVariables("meinText.txt");
>     _level0.loadVariables("meinText.txt ", "POST");
### 6.4.12 unloadMovie Die Aktion unloadMovie verwenden Sie, um mit loadMovie geladene Flash Player-Dateien wieder zu entfernen.
| Bemerkung:
| Diese Aktion steht seit dem Flash Player 4 zur Verfügung. Alternativ sollte die gleichnamige Methode des Movieclip-Objektes eingesetzt werden.
| Syntax:
>     unloadMovie(ziel);
| Parameter:
| Mit dem Parameter bestimmen Sie, welcher Movieclip entladen werden soll. Hier geben Sie den Instanznamen als Zeichenkette an. Bitte beachten Sie, dass die Instanz danach noch im Gegensatz zu removeMovieClip weiterhin existiert, auch wenn sie komplett geleert ist. Dafür unterliegt unloadMovie aber keinen Einschränkungen beim Entladen.
| Beispiel:
>     unloadMovie("meinMovieClip");
>     // Alternative seit Flash 5
>     meinMovieClip.unloadMovie();
### 6.4.13 unloadMovieNum Die Aktion unloadMovieNum verwenden Sie, um mit loadMovieNum geladene Flash Player-Dateien wieder zu entfernen.
| Bemerkung:
| Diese Aktion steht seit dem Flash Player 3 zur Verfügung. Alternativ sollte die Methode unloadMovie des Movieclip-Objektes eingesetzt werden.
| Syntax:
>     unloadMovieNum(stufe);
| Parameter:
| Mit dem Parameter bestimmen Sie, welche Stufe (engl. Level) entladen werden soll. Hier geben Sie die Nummer der Stufe als Ganzzahl an.
| Beispiel:
>     unloadMovieNum(1);
>     // Alternative seit Flash 5
>     _level1.unloadMovie();
<< 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