Rheinwerk Design < openbook > Rheinwerk Design - Know-how für Kreative.
Know-how für Kreative

 << zurück
ActionScript 1 und 2 von Sascha Wolter (http://www.saschawolter.de/)
Objektorientierung und Codedesign mit Flash MX 2004
Buch: ActionScript 1 und 2

ActionScript 1 und 2
672 S., mit CD, Referenzkarte, 44,90 Euro
Rheinwerk Design
ISBN 3-89842-221-6
gp Kapitel 6 Anweisungen und Aktionen
  gp 6.1 Aktionen für die Zeitleisten- und Movieclip-Steuerung
    gp 6.1.1 gotoAndPlay
    gp 6.1.2 gotoAndStop
    gp 6.1.3 nextFrame
    gp 6.1.4 nextScene
    gp 6.1.5 play
    gp 6.1.6 prevFrame
    gp 6.1.7 prevScene
    gp 6.1.8 stop
    gp 6.1.9 startDrag
    gp 6.1.10 stopDrag
    gp 6.1.11 toggleHighQuality
    gp 6.1.12 duplicateMovieClip
    gp 6.1.13 removeMovieClip
  gp 6.2 Aktionen zum Drucken
    gp 6.2.1 Drucken verhindern
    gp 6.2.2 Ausgabegröße
    gp 6.2.3 print
    gp 6.2.4 printNum
    gp 6.2.5 printAsBitmap
    gp 6.2.6 printAsBitmapNum
  gp 6.3 Aktionen für die Sound-Steuerung
    gp 6.3.1 stopAllSounds
  gp 6.4 Aktionen für die Kommunikation
    gp 6.4.1 fscommand allowScale
    gp 6.4.2 fscommand exec
    gp 6.4.3 fscommand fullScreen
    gp 6.4.4 fscommand quit
    gp 6.4.5 fscommand showMenu
    gp 6.4.6 fscommand trapAllKeys
    gp 6.4.7 getURL
    gp 6.4.8 loadMovie
    gp 6.4.9 loadMovieNum
    gp 6.4.10 loadVariables
    gp 6.4.11 loadVariablesNum
    gp 6.4.12 unloadMovie
    gp 6.4.13 unloadMovieNum


Rheinwerk Design - Zum Seitenanfang

6.4 Aktionen für die Kommunikation  downtop

Flash bietet zahlreiche Schnittstellen zur Außenwelt. Einige der wichtigsten stellen wir in diesem Kapitel vor. Dazu zählen:

gp  Steuerung des Stand-alone-Players und -Projektors
gp  Aufruf von beliebigen URLs
gp  Laden von SWF-Dateien und von JPEG-Bildern
gp  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.


Rheinwerk Design - Zum Seitenanfang

6.4.1 fscommand allowScale  downtop

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.

gp  Bemerkung:
    Diese Aktion steht seit dem Flash Player 3 zur Verfügung. Alternativ kann die Methode scaleMode des Stage-Objektes eingesetzt werden.
       
gp  Syntax:
fscommand("allowScale", aktiviert);
gp  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.
       
gp  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.


Rheinwerk Design - Zum Seitenanfang

6.4.2 fscommand exec  downtop

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.

gp  Bemerkung:
    Diese Aktion steht seit dem Flash Player 3 zur Verfügung. Im Webbrowser funktioniert dieser Befehl nicht.
       
gp  Syntax:
fscommand("exec", anwendung);
gp  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.
       
gp  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.


Rheinwerk Design - Zum Seitenanfang

6.4.3 fscommand fullScreen  downtop

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.

gp  Bemerkung:
    Diese Aktion steht seit dem Flash Player 3 zur Verfügung. In der Entwicklungsumgebung und im Webbrowser funktioniert dieser Befehl nicht.
       
gp  Syntax:
fscommand("fullScreen", aktiviert);
gp  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.
       
gp  Beispiel:
// Stelle die Anwendung im Vollbild dar
fscommand("fullScreen", "true");
// Stelle die Anwendung in einem Fenster dar
fscommand("fullScreen", "false");

Rheinwerk Design - Zum Seitenanfang

6.4.4 fscommand quit  downtop

Um einen Stand-alone-Projektor oder -Player zu beenden, wählen Sie den Befehl quit für die Aktion fscommand.

gp  Bemerkung:
    Diese Aktion steht seit dem Flash Player 3 zur Verfügung. In der Entwicklungsumgebung und im Webbrowser funktioniert dieser Befehl nicht.
       
gp  Syntax:
fscommand("quit");
gp  Parameter:
    Diese Aktion besitzt außer dem als Zeichenkette angegebenen Befehl "quit" keine Parameter.
       
gp  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.


Rheinwerk Design - Zum Seitenanfang

6.4.5 fscommand showMenu  downtop

Um das Kontextmenü des Stand-alone-Projektors oder Players zu reduzieren, verwenden Sie die Aktion fscommand mit dem Befehl showMenu.

gp  Bemerkung:
    Diese Aktion steht seit dem Flash Player 3 zur Verfügung. Alternativ kann die Methode showMenu des Stage-Objektes eingesetzt werden.
       
gp  Syntax:
fscommand("showMenu", aktiviert);
gp  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.
       
gp  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.


Rheinwerk Design - Zum Seitenanfang

6.4.6 fscommand trapAllKeys  downtop

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.

gp  Bemerkung:
    Diese Aktion steht seit dem Flash Player 5 zur Verfügung.
       
gp  Syntax:
fscommand("trapAllKeys", aktiviert);
gp  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.
       
gp  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.


Rheinwerk Design - Zum Seitenanfang

6.4.7 getURL  downtop

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.

gp  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.
       
gp  Syntax:
getURL(url);
getURL(url, fenster);
getURL(url, fenster, versenden);
gp  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.

gp  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.


Rheinwerk Design - Zum Seitenanfang

6.4.8 loadMovie  downtop

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.

gp  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.
       
gp  Syntax:
loadMovie(url, ziel);
loadMovie(url, ziel, versenden);
gp  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.
       
gp  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.


Rheinwerk Design - Zum Seitenanfang

6.4.9 loadMovieNum  downtop

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.

gp  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!
       
gp  Syntax:
loadMovieNum(url, stufe);
loadMovieNum(url, stufe, versenden);
gp  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.
       
gp  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.


Rheinwerk Design - Zum Seitenanfang

6.4.10 loadVariables  downtop

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.

gp  Bemerkung:
    Diese Aktion steht seit dem Flash Player 4 zur Verfügung. Alternativ sollte die gleichnamige Methode des Movieclip-Objektes eingesetzt werden.
       
gp  Syntax:
loadVariables(url, ziel);
loadVariables(url, ziel, versenden);
gp  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.
       
gp  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

Rheinwerk Design - Zum Seitenanfang

6.4.11 loadVariablesNum  downtop

Die Aktion loadVariablesNum lädt Daten in eine Flash-Anwendung in einer Stufe (engl. Level) und erzeugt passende Variablen zur weiteren Verarbeitung.

gp  Bemerkung:
    Diese Aktion steht seit dem Flash Player 4 zur Verfügung. Alternativ sollte die Methode loadVariables des Movieclip-Objektes eingesetzt werden.
       
gp  Syntax:
loadVariablesNum(url, stufe);
loadVariablesNum(url, stufe, versenden);
gp  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.
       
gp  Beispiel:
loadVariablesNum("meinText.txt", 0);
loadVariablesNum("meinText.txt ", 0, "POST");
// Alternative seit Flash 5
_level0.loadVariables("meinText.txt");
_level0.loadVariables("meinText.txt ", "POST");

Rheinwerk Design - Zum Seitenanfang

6.4.12 unloadMovie  downtop

Die Aktion unloadMovie verwenden Sie, um mit loadMovie geladene Flash Player-Dateien wieder zu entfernen.

gp  Bemerkung:
    Diese Aktion steht seit dem Flash Player 4 zur Verfügung. Alternativ sollte die gleichnamige Methode des Movieclip-Objektes eingesetzt werden.
       
gp  Syntax:
unloadMovie(ziel);
gp  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.
       
gp  Beispiel:
unloadMovie("meinMovieClip");
// Alternative seit Flash 5
meinMovieClip.unloadMovie();

Rheinwerk Design - Zum Seitenanfang

6.4.13 unloadMovieNum  toptop

Die Aktion unloadMovieNum verwenden Sie, um mit loadMovieNum geladene Flash Player-Dateien wieder zu entfernen.

gp  Bemerkung:
    Diese Aktion steht seit dem Flash Player 3 zur Verfügung. Alternativ sollte die Methode unloadMovie des Movieclip-Objektes eingesetzt werden.
       
gp  Syntax:
unloadMovieNum(stufe);
gp  Parameter:
    Mit dem Parameter bestimmen Sie, welche Stufe (engl. Level) entladen werden soll. Hier geben Sie die Nummer der Stufe als Ganzzahl an.
       
gp  Beispiel:
unloadMovieNum(1);
// Alternative seit Flash 5
_level1.unloadMovie();
 << zurück
  
  Zum Rheinwerk-Shop
Zum Rheinwerk-Shop: ActionScript 1 und 2
ActionScript 1 und 2
bestellen
 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchtipps
Zum Rheinwerk-Shop: JavaScript






 JavaScript


Zum Rheinwerk-Shop: jQuery






 jQuery


Zum Rheinwerk-Shop: Responsive Webdesign






 Responsive Webdesign


Zum Rheinwerk-Shop: Suchmaschinen-Optimierung






 Suchmaschinen-
 Optimierung


Zum Rheinwerk-Shop: Schrödinger lernt HTML5, CSS3 und JavaScript






 Schrödinger lernt
 HTML5, CSS3
 und JavaScript


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo





Copyright © Rheinwerk Verlag 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.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern