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.2 Aktionen zum Drucken  downtop

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.

Abbildung
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:

gp  getURL mit der URL print:, um den Inhalt der Flash-Anwendung als Vektorzeichnung zu drucken (Transparenzen gehen verloren). Diese Aktion funktioniert seit Flash 4.
gp  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.
gp  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:

gp  print
gp  printAsBitmap
gp  loadMovie
gp  loadVariables
gp  unloadMovie

Rheinwerk Design - Zum Seitenanfang

6.2.1 Drucken verhinderdowntop

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:

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

Rheinwerk Design - Zum Seitenanfang

6.2.2 Ausgabegröße  downtop

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:

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


Rheinwerk Design - Zum Seitenanfang

6.2.3 print  downtop

Die Aktion print druckt den Inhalt einer Anwendung oder eines Movieclips vektororientiert aus.

gp  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.
       
gp  Syntax:
print("ziel");
print("ziel", "begrenzungsbox");
gp  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«.
       
gp  Beispiel:
// Drucke Movieclip
meinButton.onRelease = function() {
   print("_root.mcDruck", "bmovie");
};
// Alternative Methode seit Flash 5
meinButton.onRelease = function() {
   movieClipInstanz.getURl("print:#bmovie", "_root.mcDruck");
};

Rheinwerk Design - Zum Seitenanfang

6.2.4 printNum  downtop

Die Aktion printNum druckt den Inhalt einer Flash-Datei in einer anderen Stufe (engl. Level) vektororientiert aus.

gp  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.
       
gp  Syntax:
printNum(stufe);
printNum(stufe, "begrenzungsbox");
gp  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.
       
gp  Beispiel:
// Drucke Stufe
meinButton.onRelease = function() {
   printNum(0 , "bmovie");
};
// Alternative Methode seit Flash 5
meinButton.onRelease = function() {
   movieClipInstanz.getURl("print:#bmovie", "_level0");
};

Rheinwerk Design - Zum Seitenanfang

6.2.5 printAsBitmap  downtop

Die Aktion printAsBitmap druckt den Inhalt eines Movieclips pixelorientiert aus.

gp  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.
       
gp  Syntax:
printAsBitmap("ziel");
printAsBitmap("ziel", "begrenzungsbox");
gp  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.
       
gp  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");
};

Rheinwerk Design - Zum Seitenanfang

6.2.6 printAsBitmapNum  toptop

Die Aktion printAsBitmapNum druckt den Inhalt einer Flash-Datei in einer Stufe (engl. Level) pixelorientiert aus.

gp  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.
       
gp  Syntax:
printAsBitmapNum(stufe);
printAsBitmapNum(stufe, "begrenzungsbox");
gp  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.
       
gp  Beispiel:
// Drucke Stufe
meinButton.onRelease = function() {
   printAsBitmapNum(0 , "bmovie");
};
// Alternative Methode seit Flash 5
meinButton.onRelease = function() {
   movieClipInstanz.getURl("printAsBitmap:#bmovie", "_level0");
};
 << 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