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.2 Aktionen zum Drucken ##### 02_Programmierung\Aktionen\drucken Bereits seit Version 4 druckt Flash z.B. Wegbeschreibungen, Rechnungen, Bestellscheine, Grußkarten und Produktinformationen aus einer Anwendung. Um genau zu sein, geht das erst mit den Flash Playern, die seit dem 16. Dezember 1999 zum Download bereitstehen und die Release-Nummer 20 oder größer tragen (siehe Kapitel 19, »Flashdetection«). Im Gegensatz zu den sehr unflexiblen Druckmöglichkeiten direkt aus dem Browser oder über JavaScript (window.print()) erfolgt der Ausdruck verschiedenster Dokumente in hoher Qualität und individuell gesteuert. Die gesamte Druckfunktionalität wurde von Macromedia im Flash Player untergebracht, so dass auch ältere Flash-Anwendungen ohne Änderung von dieser Erweiterung profitieren. Im Kontextmenü einer Flash-Anwendung (rechte Maustaste unter Windows oder (Ctrl) + Maustaste auf Macintosh-Computern) wird bei dem aktuellen Plug-in der Punkt Drucken angezeigt, über den sich jedes Bild des Films ausgeben lässt. Alphakanäle (Transparenzen) werden hier jedoch ignoriert. Hier klicken, um das Bild zu Vergrößern Abbildung 6.1 Kontextmenü des Flash Players mit dem Befehl Drucken (hier der Flash Player 6) Auch direkt aus einer Flash-Anwendung lässt sich drucken, indem die Aktion getURL (Flash 4) mit der Angabe des Parameters print: innerhalb der URL oder die Aktion print (seit Flash 5) verwendet wird. Falls Sie Alphakanäle einsetzen, sollte das Dokument als Bitmap ausgegeben werden (printAsBitmap). Sonst werden die Transparenzen bei der Ausgabe ignoriert. Flash bietet zahlreiche Möglichkeiten, um das zu druckende Dokument zu gestalten. Die ganze Anwendung oder einzelne Movieclips lassen sich ausgeben, und die zu druckenden Bilder und die zu druckenden Bereiche können frei festgelegt werden. ##### Seit wann kann Flash drucken? Die Druckfunktion steht für alle Flash Player seit Release 4.0.20 zur Verfügung. Seit Flash 5 lassen sich aus einem Stand-alone-Projektor ebenfalls Dokumente auf einem Drucker ausgeben. ##### Flash-Versionen Je nachdem, mit welcher Flash-Version Sie arbeiten, benötigen Sie zum Drucken eine der folgenden Aktionen:
| getURL mit der URL print:, um den Inhalt der Flash-Anwendung als Vektorzeichnung zu drucken (Transparenzen gehen verloren). Diese Aktion funktioniert seit Flash 4.
| getURL mit der URL printAsBitmap:, um den Inhalt der Flash-Anwendung als Bitmap zu drucken (Transparenzen bleiben erhalten, es wird aber mehr Arbeitsspeicher benötigt). Diese Aktion funktioniert seit Flash 4.
| Die Aktion print ist erst seit Flash 5 möglich. Für diesen Befehl geben Sie direkt an, ob Sie die Anwendung als Vektorzeichnung ohne Transparenzen (print) oder als Bitmap (printAsBitmap) ausgeben möchten.
Falls Sie nicht die gesamte Anwendung, sondern nur einen Movieclip drucken möchten, dann geben Sie bei der getURL-Variante als zweiten Parameter den Instanznamen des Movieclips an. Bei der Aktion print wählen Sie für die Position entweder eine Stufe oder einen Movieclip als Ziel. ##### Num oder nicht Num Alle Aktionen, bei denen Sie ein Ziel angeben können, lassen sich auf zwei Arten verwenden und werden dann unterschiedlich geschrieben: einmal mit Num und einmal ohne Num. Das Num bedeutet, dass Sie als Ziel keinen Movieclip, sondern eine Stufe (engl. Level) angeben. Alternativ können Sie z.B. zum Drucken anstatt printAsBitmapNum (0, "bmovie"); auch die Aktion printAsBitmap ("_level0", "bmovie"); verwenden. Die Aktion printAsBitmap ("0", "bmovie"); hingegen sucht nach einem Movieclip mit der Bezeichnung »0«. Folgende Aktionen sind von diesem Verhalten betroffen:
| print
| printAsBitmap
| loadMovie
| loadVariables
| unloadMovie
### 6.2.1 Drucken verhindern Normalerweise druckt Flash alle Bilder einer Zeitleiste oder bietet zumindest alle Bilder im Drucken-Dialogfenster zur Ausgabe an. Sie können die Ausgabe aber auf spezielle Bilder beschränken oder ganz verhindern. Alles, was Sie dafür tun müssen, ist:
| Verwenden Sie irgendwo in der Zeitleiste die Bildbezeichnung »!#p« (Eigenschafteninspektor bei markiertem Schlüsselbild), um das Drucken der Anwendung oder des Movieclips über das Kontextmenü zu verhindern. Die Ausgabe mit Hilfe der Aktionen ist weiterhin möglich.
| Platzieren Sie in allen Bildern, die gedruckt werden sollen, die Bildbezeichnung »#p«. Alle Bilder ohne diese Bildbezeichnung werden nicht mehr zur Ausgabe angeboten. Dies gilt sowohl für das Kontextmenü Drucken als auch für die entsprechenden Aktionen (z.B. print).
| Wenn Sie weder »!#p« noch »#p« verwenden, wird die gesamte Zeitleiste zum Druck angeboten, falls Sie die entsprechenden Aktionen verwenden oder der Betrachter im Kontextmenü den Punkt Drucken wählt. Dies gilt auch für Anwendungen, die vor der Einführung der Druckfunktion erstellt wurden.
### 6.2.2 Ausgabegröße Sie bestimmen nicht nur, welche Bilder ausgegeben werden, sondern auch in welcher Größe diese Ausgabe erfolgt. Dafür stehen vier Einstellungen bei der Aktion print zur Verfügung, die in ähnlicher Form auch bei der Flash 4-Variante mit getURL eingesetzt werden können:
| Begrenzungsbox »Film« (bmovie): In diesem Fall wird jedes Bild im Verhältnis zum Dokument (Bühne) gedruckt. Dies entspricht den Aktionen getURL ("print:"); und getURL ("printAsBitmap:"); in Flash 4.
| Begrenzungsbox »Bild« (bframe): Bei dieser Einstellung wird der Inhalt jedes Bildes so groß wie möglich ausgegeben. Dies entspricht den Aktionen getURL ("print:#bframe"); und getURL ("printAsBitmap:#bframe"); in Flash 4.
| Begrenzungsbox »Max.« (bmax): Bei dieser Einstellung ermittelt Flash die maximale Größer aller zu druckenden Bilder. Diese werden dann so groß wie möglich ausgegeben, wobei die Proportionen und das Verhältnis zueinander gewahrt bleiben. Dies entspricht den Aktionen getURL ("print:#bmax"); und getURL ("printAsBitmap:#bmax"); in Flash 4.
| Durch die Bildbezeichnung »#b« kombiniert mit der Begrenzungsbox »Film« (bmovie) geben Sie in Flash 4, Flash 5 und Flash MX an, welcher Bereich so groß wie möglich ausgegeben werden soll. Sie können diese Bildbezeichnung nur einmal in einer Zeitleiste verwenden. In diesem Bild erstellen Sie dann einen Kasten, der als Begrenzungsrechteck (engl. Boundingbox) dient. Dies verhält sich ähnlich wie die Begrenzungsbox »Max.« (bmax), bei der Flash dieses Begrenzungsrechteck automatisch für jedes einzelne Bild ermittelt. Sehr hilfreich ist in beiden Fällen der Zwiebelschichteneffekt, über den die Anordnung der Objekte und des Begrenzungsrechtecks komfortabel durchgeführt wird.
##### Drucken eines Dokumentes ##### 02_Programmierung\Aktionen\drucken
1. | Movieclip erstellen
Erstellen Sie für Ihre zu druckenden Daten einen Movieclip. In diesem »Container« montieren Sie in den nächsten Schritten das zu druckende Dokument.
2. | Druckbereich festlegen
Platzieren Sie in einem Bild des Movieclips (in der Regel das erste Bild) ein Rechteck, das dem zu bedruckenden Medium entspricht. Üblicherweise handelt es sich hierbei um ein A4-Blatt, weshalb sich ein Rechteck mit einem vergleichbaren Seitenverhältnis anbietet. Setzen Sie nun die Bildmarkierung für dieses Bild auf »#b«, da Flash erst ab diesem Moment das Rechteck als »Größenvorgabe« berücksichtigt!
3. | Inhalte montieren
Montieren Sie die Inhalte nun Seite für Seite in aufeinander folgenden Bildern des Movieclips. Der Zwiebelschichteneffekt ist hier sehr nützlich, da sich so die »Größenvorgabe« transparent im Hintergrund betrachten lässt. Geben Sie außerdem allen Bildern mit Inhalten die Bildbezeichnung »#p«. Nur diese mit »#p« bezeichneten Bilder werden gedruckt! Beim Veröffentlichen gibt Flash eine Fehlermeldung aus, wenn mehrere Bildbezeichnungen den gleichen Namen tragen (in diesem Fall #p). Diese Meldung können Sie aber getrost ignorieren.
4. | Movieclip verwenden
Ihr Movieclip beinhaltet jetzt alle für den Druck notwendigen Daten. Damit Ihre Flash-Anwendung den Movieclip druckt, muss der Movieclip im der Anwendung vorhanden und mit einem eindeutigen Instanznamen versehen sein, Diesen Instanznamen vergeben Sie im Eigenschafteninspektor (beispielsweise mc_print)! Aus kosmetischen Gründen könnten Sie außerdem noch für den Movieclip festlegen, dass er nicht abspielen und unsichtbar sein soll:
    mc_print.stop();
    mc_print._visible=false;
5. | Schaltfläche mit Druckfunktion erstellen
Geben Sie dem Anwender die interaktive Möglichkeit, das Drucken zu starten. Verwenden Sie dafür eine Schaltfläche. Weisen Sie diesem Element nun einen Instanznamen zu. Platzieren Sie anschließend ein Skript für die print-Aktion in das erste Schlüsselbild der Zeitleiste. Die print-Aktion benötigt als Parameter den Instanznamen des zu druckenden MovieClips und den Druckbereich:
    btn_print.onRelease = function () {
       print("_root.mc_print", "bmovie");
    };
##### Mehrseitige Dokumente drucken Mit Flash MX 2004 hat Macromedia die PrintJob-Klasse eingeführt, die es erlaubt, mehrseitige Dokumente komfortabel für den Druck ab dem Flash Player 7 aufzubereiten. Sofern es die Zielgruppe Ihrer Anwendung zulässt, sollten Sie dieses Objekt anstelle der print-Aktionen einsetzen. ##### Movieclip zum Drucken laden Falls Sie einen Movieclip drucken möchten, der extra zu diesem Zweck eingelesen wird (loadMovie), dann funktioniert das Drucken nur, wenn der Movieclip komplett geladen ist. Dies überprüfen Sie, indem sichergestellt wird, dass die Eigenschaft _totalframes größer als null (sonst existiert dieser Movieclip nicht) und _framesloaded gleich _totalframes ist: btn_print.onRelease = function() { var totalframes; var framesloaded; if (isNaN(container._totalframes)) { // nichts geladen } else { // überprüfe, ob vollständig geladen totalframes = container._totalframes; framesloaded = container._framesloaded; if (totalframes>0 && totalframes == framesloaded) { printAsBitmap("container", "bmovie"); } } }; Für den Fall, dass die Zeitleiste (Ziel oder Stufe) nicht existiert, wird der Inhalt der Eigenschaft _totalframes vorsichtshalber mit der Funktion isNaN überprüft. Dies führt dazu, dass Flash erkennt, dass der Movieclip noch undefiniert ist. ### 6.2.3 print Die Aktion print druckt den Inhalt einer Anwendung oder eines Movieclips vektororientiert aus.
| Bemerkung:
| Diese Aktion steht seit dem Flash Player 4.20 zur Verfügung (als Entwicklungsumgebung wird Flash 5 oder neuer benötigt). Alternativ kann die Aktion getURL (auch bereits in Flash 4) oder die Methode getURL des Movieclip-Objektes eingesetzt werden. Da diese Alternativen jedoch keinen Vorteil bieten, sind sie aufgrund der schlechteren Lesbarkeit nicht zu empfehlen.
| Pixelgrafiken, Transparenz- und Farbeffekte werden bei dieser Druckmethode ignoriert.
| Syntax:
>     print("ziel");
>     print("ziel", "begrenzungsbox");
| Parameter:
| Der erste Parameter legt fest, welche Zeitleiste (also welcher Movieclip) gedruckt wird. Der optionale zweite Parameter bestimmt, wie gedruckt wird. Zur Verfügung stehen bmovie (Dokumentgröße), bframe (maximale Größe jedes einzelnen Bildes) und bmax (maximale gemeinsame Größe aller Bilder). Weitere Informationen zur Größeneinstellung erhalten Sie unter »Ausgabegröße«.
| Beispiel:
>     // Drucke Movieclip
>     meinButton.onRelease = function() {
>        print("_root.mcDruck", "bmovie");
>     };
>     // Alternative Methode seit Flash 5
>     meinButton.onRelease = function() {
>        movieClipInstanz.getURl("print:#bmovie", "_root.mcDruck");
>     };
### 6.2.4 printNum Die Aktion printNum druckt den Inhalt einer Flash-Datei in einer anderen Stufe (engl. Level) vektororientiert aus.
| Bemerkung:
| Diese Aktion steht seit dem Flash Player 4.20 zur Verfügung (als Entwicklungsumgebung wird Flash 5 oder neuer benötigt). Alternativ kann getURL oder die Methode getURL des Movieclip-Objektes eingesetzt werden. Da diese Alternativen jedoch keinen Vorteil bieten, sind sie aufgrund der schlechteren Lesbarkeit nicht zu empfehlen. Pixelgrafiken, Transparenz- und Farbeffekte werden bei dieser Druckmethode ignoriert.
| Syntax:
>     printNum(stufe);
>     printNum(stufe, "begrenzungsbox");
| Parameter:
| Der erste Parameter legt fest, welche Stufe (engl. Level) gedruckt wird. Der optionale zweite Parameter bestimmt, wie gedruckt wird. Zur Verfügung stehen bmovie (Dokumentgröße), bframe (maximale Größe jedes einzelnen Bildes) und bmax (maximale gemeinsame Größe aller Bilder). Weitere Informationen zur Größeneinstellung erhalten Sie unter »Ausgabegröße« auf Seite 139.
| Beispiel:
>     // Drucke Stufe
>     meinButton.onRelease = function() {
>        printNum(0 , "bmovie");
>     };
>     // Alternative Methode seit Flash 5
>     meinButton.onRelease = function() {
>        movieClipInstanz.getURl("print:#bmovie", "_level0");
>     };
### 6.2.5 printAsBitmap Die Aktion printAsBitmap druckt den Inhalt eines Movieclips pixelorientiert aus.
| Bemerkung:
| Diese Aktion steht seit dem Flash Player 4.20 zur Verfügung (als Entwicklungsumgebung wird Flash 5 oder neuer benötigt). Alternativ kann getURL oder die Methode getURL des Movieclip-Objektes eingesetzt werden.
| Pixelgrafiken, Transparenz- und Farbeffekte werden bei dieser Druckmethode berücksichtigt. Diese Methode erfordert jedoch mehr Arbeitsspeicher als die vektororientierten Varianten print und printNum.
| Syntax:
>     printAsBitmap("ziel");
>     printAsBitmap("ziel", "begrenzungsbox");
| Parameter:
| Der erste Parameter legt fest, welche Zeitleiste (also welcher Movieclip) gedruckt wird. Der optionale zweite Parameter bestimmt, wie gedruckt wird. Zur Verfügung stehen bmovie (Dokumentgröße), bframe (maximale Größe jedes einzelnen Bildes) und bmax (maximale gemeinsame Größe aller Bilder). Weitere Informationen zur Größeneinstellung erhalten Sie unter »Ausgabegröße« auf Seite 139.
| Beispiel:
>     // Drucke Movieclip
>     btn_print.onRelease = function() {
>        printAsBitmap("_root.mc_print", "bmovie");
>     };
>     // Alternative Methode seit Flash 5
>     btn_print.onRelease = function() {
>        this.getURl("printAsBitmap:#bmovie", "_root.mc_print");
>     };
### 6.2.6 printAsBitmapNum Die Aktion printAsBitmapNum druckt den Inhalt einer Flash-Datei in einer Stufe (engl. Level) pixelorientiert aus.
| Bemerkung:
| Diese Aktion steht seit dem Flash Player 4.20 zur Verfügung (als Entwicklungsumgebung wird Flash 5 oder neuer benötigt). Alternativ kann getURL oder die Methode getURL des Movieclip-Objektes eingesetzt werden.
| Pixelgrafiken, Transparenz- und Farbeffekte werden bei dieser Druckmethode berücksichtigt. Diese Methode erfordert jedoch mehr Arbeitsspeicher als die vektororientierten Varianten print und printNum.
| Syntax:
>     printAsBitmapNum(stufe);
>     printAsBitmapNum(stufe, "begrenzungsbox");
| Parameter:
| Der erste Parameter legt fest, welche Stufe (engl. Level) gedruckt wird. Der optionale zweite Parameter bestimmt, wie gedruckt wird. Zur Verfügung stehen bmovie (Dokumentgröße), bframe (maximale Größe jedes einzelnen Bildes) und bmax (maximale gemeinsame Größe aller Bilder). Weitere Informationen zur Größeneinstellung erhalten Sie unter »Ausgabegröße« auf Seite 139.
| Beispiel:
>     // Drucke Stufe
>     meinButton.onRelease = function() {
>        printAsBitmapNum(0 , "bmovie");
>     };
>     // Alternative Methode seit Flash 5
>     meinButton.onRelease = function() {
>        movieClipInstanz.getURl("printAsBitmap:#bmovie", "_level0");
>     };
<< 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