Die InteractiveObject-Klasse lässt sich nicht direkt instanziieren. Beim Aufrufen des Konstruktors
Die InteractiveObject-Klasse selbst enthält keine APIs zum Rendern von Inhalten auf dem Bildschirm. Um eine benutzerdefinierte Unterklasse der InteractiveObject-Klasse zu erstellen, erweitern Sie eine der Unterklassen, die über APIs zum Rendering von Inhalten auf dem Bildschirm verfügen, zum Beispiel die Sprite-, SimpleButton-, TextField- oder MovieClip-Klassen.
Die dropAction-Eigenschaft des Ereignisses gibt die Aktion an, die vom Zielobjekt des Ziehvorgangs festgelegt ist. Der Wert „none“ (
Die
Unter Linux werden keine
Auf die abgelegten Daten kann mit der
Die Prozedur für dieses Ereignis sollte die
Entweder das
Um zu bestimmen, ob das auslösende Anzeigeobjekt den Ablegevorgang akzeptieren kann, überprüfen Sie die Eignung der Daten in der
Entweder das
Um zu bestimmen, ob das auslösende Anzeigeobjekt den Ablegevorgang akzeptieren kann, überprüfen Sie die Eignung der Daten in der
Wenn Sie in AIR dieses Ereignis abbrechen, wird verhindert, dass das Zeichen in ein Textfeld eingegeben wird.
Insbesondere, wenn der Benutzer einen Finger über ein InteractiveObject bewegt und dann die Finger zusammen bewegt, kann die InteractiveObject-Instanz ein
Beachten Sie bei der Verarbeitung der Eigenschaften des Ereignisobjekts, dass die
Hinweis: Während einige Geräte mit dem Betriebssystem Mac OS eine Swipe-Geste mit vier Fingern erkennen, unterstützt diese API nur Swipe-Gesten mit drei Fingern.
Insbesondere, wenn der Benutzer einen Finger über ein InteractiveObject bewegt und die Finger spreizt, kann die InteractiveObject-Instanz ein
Beachten Sie bei der Verarbeitung der Eigenschaften des Ereignisobjekts, dass die
Hinweis: Informationen zur Umgebungskompatibilität finden Sie im Abschnitt über die Multitouch-Klasse.
Insbesondere, wenn der Benutzer einen Finger über ein InteractiveObject bewegt, kann die InteractiveObject-Instanz ein
Beachten Sie bei der Verarbeitung der Eigenschaften des Ereignisobjekts, dass die
Hinweis: Informationen zur Umgebungskompatibilität finden Sie im Abschnitt über die Multitouch-Klasse.
Insbesondere, wenn der Benutzer einen Finger über ein InteractiveObject bewegt und dann ein sekundäres Tippen ausführt, kann die InteractiveObject-Instanz ein
Beachten Sie bei der Verarbeitung der Eigenschaften des Ereignisobjekts, dass die
Insbesondere, wenn der Benutzer einen Finger über ein InteractiveObject bewegt, kann die InteractiveObject-Instanz ein
Hinweis: Informationen zur Umgebungskompatibilität finden Sie im Abschnitt über die Multitouch-Klasse.
Insbesondere, wenn der Benutzer mit zwei Fingern auf ein InteractiveObject tippt, kann die InteractiveObject-Instanz ein
Hinweis: Informationen zur Umgebungskompatibilität finden Sie im Abschnitt über die Multitouch-Klasse.
Insbesondere, wenn der Benutzer mit einem Finger auf ein InteractiveObject tippt, kann die InteractiveObject-Instanz ein
Hinweis: Informationen zur Umgebungskompatibilität finden Sie im Abschnitt über die Multitouch-Klasse.
Insbesondere, wenn der Benutzer einen Finger über ein InteractiveObject bewegt, kann die InteractiveObject-Instanz ein
Hinweis: Informationen zur Umgebungskompatibilität finden Sie im Abschnitt über die Multitouch-Klasse.
Insbesondere, wenn der Benutzer einen Finger über ein InteractiveObject bewegt, kann die InteractiveObject-Instanz ein
Hinweis: Informationen zur Umgebungskompatibilität finden Sie im Abschnitt über die Multitouch-Klasse.
Insbesondere, wenn der Benutzer einen Finger über ein InteractiveObject bewegt, kann die InteractiveObject-Instanz ein
Hinweis: Informationen zur Umgebungskompatibilität finden Sie im Abschnitt über die Multitouch-Klasse.
Insbesondere, wenn der Benutzer einen Finger über einen Touchscreen bewegt, kann die InteractiveObject-Instanz ein
Hinweis: Informationen zur Umgebungskompatibilität finden Sie im Abschnitt über die Multitouch-Klasse.
Insbesondere, wenn der Benutzer einen Finger über einen Touchscreen bewegt, kann die InteractiveObject-Instanz ein
Hinweis: Informationen zur Umgebungskompatibilität finden Sie im Abschnitt über die Multitouch-Klasse.
Insbesondere, wenn der Benutzer einen Finger vom Touchscreen nimmt, kann die InteractiveObject-Instanz ein
Hinweis: Informationen zur Umgebungskompatibilität finden Sie im Abschnitt über die Multitouch-Klasse.
Insbesondere, wenn der Benutzer einen Finger auf den Touchscreen setzt, kann die InteractiveObject-Instanz ein
Hinweis: Informationen zur Umgebungskompatibilität finden Sie im Abschnitt über die Multitouch-Klasse.
Der Zweck des
Der Zweck des
Das Ereignis
Das Ereignis
Die
Das Doppelklick-Textauswahlverhalten eines TextField-Objekts steht nicht in Bezug zum
Dieses Ereignis wird für das Objekt ausgelöst, das gerade den Eingabefokus hat. Das verwandte Objekt für dieses Ereignis ist die InteractiveObject-Instanz, die den Fokus erhält, wenn Sie das Standardverhalten nicht verhindern. Sie können den Fokuswechsel verhindern, indem Sie in einem Ereignis-Listener, der bei dem Zielobjekt ordentlich registriert ist,
Dieses Ereignis wird für das Objekt ausgelöst, das gerade den Eingabefokus hat. Das verwandte Objekt für dieses Ereignis ist die InteractiveObject-Instanz, die den Fokus erhält, wenn Sie das Standardverhalten nicht verhindern. Sie können den Fokuswechsel verhindern, indem Sie in einem Ereignis-Listener, der bei dem Zielobjekt ordentlich registriert ist, die
Der Aufruf dieser Methode fokussiert die InteractiveObject-Instanz und blendet die virtuelle Tastatur ein, falls erforderlich. Die
Hinweis: Diese Methode wird in AIR-Anwendungen unter iOS nicht unterstützt.
Für Inhalt, der in Flash Player ausgeführt wird, handelt es sich bei dieser Eigenschaft um ein ContextMenu-Objekt. In der AIR-Laufzeitumgebung erweitert die ContextMenu-Klasse die NativeMenu-Klasse, doch Flash Player unterstützt nur die ContextMenu-Klasse, nicht aber die NativeMenu-Klasse.
Hinweis: TextField-Objekte enthalten im Kontextmenü immer ein Zwischenablagemenü. Das Zwischenablagemenü enthält die Befehle „Ausschneiden“, „Kopieren“, „Einfügen“, Löschen“ und „Alles auswählen“. Diese Befehle können aus dem Kontextmenü von TextField-Objekten nicht entfernt werden. Bei TextField-Objekten werden beim Auswählen dieser Befehle (oder der entsprechenden Zugriffstastenkombinationen) keine
Durch das Festlegen dieser Eigenschaft wird kein Ereignis ausgelöst. Sie müssen die
Durch das Festlegen dieser Eigenschaft wird kein Ereignis ausgelöst. Um interaktive Funktionalität zu erzielen, müssen Sie die
Standardmäßig ist der Wert
Die InteractiveObject-Instanz setzt
Hinweis: Diese Eigenschaft wird in AIR-Anwendungen unter iOS nicht unterstützt.
Wenn die
Geben Sie den Wert für
Hinweis: Unter Android wird
Wenn eines der gegenwärtig in der SWF-Datei angezeigten Objekte die
Die
Die durch die
Hinweis: Um die Tabulatorreihenfolge für TLFTextField-Instanzen festzulegen, wandeln Sie das untergeordnete Anzeigeobjekt von TLFTextField in ein InteractiveObject um und legen Sie dann die
InteractiveObject(tlfInstance.getChildAt(1)).tabIndex = 3;Um die Tabulatorreihenfolge von der Standardreihenfolge für drei Instanzen eines TLFTextField-Objekts (
InteractiveObject(tlfInstance1.getChildAt(1)).tabIndex = 3; InteractiveObject(tlfInstance2.getChildAt(1)).tabIndex = 2; InteractiveObject(tlfInstance3.getChildAt(1)).tabIndex = 1;
Die Scheitelpunkte der Dreiecke enthalten keine z-Koordinate und stellen nicht notwendigerweise eine 3D-Fläche dar. Der Pfad eines Dreiecks kann jedoch verwendet werden, um die 3D-Darstellung in einem 2D-Raum zu unterstützen.
Die UV-Koordinaten (0,0) entsprechen dem linken oberen Bereich der Bitmap, während (1,1) dem rechten unteren Bereich entspricht.
Entspricht die Länge dieses Vektors der doppelten Länge des
Entspricht die Länge dieses Vektors der dreifachen Länge des
Kann auf einen beliebigen in der TriangleCulling-Klasse festgelegten Wert gesetzt werden.
Die DisplayObject-Klasse unterstützt grundlegende Funktionalitäten wie die x- und y-Position eines Objekts sowie Objekteigenschaften für fortgeschrittene Anwender, z. B. die Transformationsmatrix.
DisplayObject ist eine abstrakte Basisklasse. Daher können Sie DisplayObject nicht direkt aufrufen. Durch das Aufrufen von
Alle Anzeigeobjekte erben die Eigenschaften und Methoden der DisplayObject-Klasse.
Die DisplayObject-Klasse selbst enthält keine APIs zum Rendern von Inhalten auf dem Bildschirm. Wenn Sie eine benutzerdefinierte Unterklasse der DisplayObject-Klasse erstellen möchten, sollten Sie daher eine ihrer Unterklassen erweitern, die über APIs zum Rendern von Inhalt auf dem Bildschirm verfügt (wie die Klassen Shape, Sprite, Bitmap, SimpleButton, TextField oder MovieClip).
Die DisplayObject-Klasse enthält mehrere broadcast-Ereignisse. Normalerweise ist das Ziel eines bestimmten Ereignisses eine bestimmte DisplayObject-Instanz. So ist z. B. das Ziel eines
Einige der in den ActionScript 1.0- und 2.0-Klassen MovieClip, TextField und Button verwendeten Eigenschaften (wie
Weitere Informationen finden Sie im Kapitel „Programmierung von Anzeigeobjekten“ des ActionScript 3.0 Entwicklerhandbuchs.
Hinweis: Dieses Ereignis wird nicht ausgelöst, wenn die Anzeige nicht dargestellt wird. Dies ist der Fall, wenn der Inhalt entweder minimiert ist oder verdeckt wird.
Auch die folgenden Methoden eines DisplayObjectContainer-Objekts erzeugen dieses Ereignis, wenn ein Objekt entfernt werden muss, um Platz für das neue Objekt zu schaffen:
Auch die folgenden Methoden eines DisplayObjectContainer-Objekts erzeugen dieses Ereignis, wenn ein Objekt entfernt werden muss, um Platz für das neue Objekt zu schaffen:
Hinweis: Mit den Methoden
Die
Hinweis: Mit den Methoden
Um diese Methode zu verwenden, erstellen Sie zuerst eine Instanz der Point-Klasse. Die x- und y-Werte, die Sie dem Point-Objekt zuweisen, repräsentieren globale Koordinaten, da sie sich auf den Ursprung (0,0) des Hauptanzeigebereichs beziehen. Übergeben Sie das Point-Objekt dann als
Um diese Methode zu verwenden, erstellen Sie zuerst eine Instanz der Point-Klasse. Die x- und y-Werte, die Sie zuweisen, repräsentieren globale Koordinaten, weil sie sich auf den Ursprung (0,0) des Hauptanzeigebereichs beziehen. Dann übergeben Sie die Point-Instanz als Parameter an die
Sie können beispielsweise für das Zeichnen mit den
Mit dieser Methode können Sie beliebige x- und y-Koordinaten von Werten, die sich auf die obere linke Ecke eines bestimmten Anzeigeobjekts beziehen (lokale Koordinaten), in Werte umwandeln, die sich auf die obere linke Ecke der Bühne beziehen (globale Koordinaten).
Um diese Methode zu verwenden, erstellen Sie zuerst eine Instanz der Point-Klasse. Die x- und y-Werte, die Sie zuweisen, repräsentieren lokale Koordinaten, weil sie sich auf den Ursprung (0,0) des Anzeigeobjekts beziehen.
Dann übergeben Sie die Point-Instanz, die Sie erstellt haben, als Parameter an die
Hinweis: Bei einem in der Flash-Authoring-Umgebung erstellten Objekt wird für
Die
In der folgenden Tabelle werden die Einstellungen von
Weisen beispielsweise die Grundfarbe (etwa Rot) eines Pixels im Anzeigeobjekt und eines Hintergrund-Pixels den Wert 0x88 auf, lautet das Ergebnis der Multiplikation 0x4840. Die Division durch 0xFF ergibt für diese Grundfarbe 0x48. Dies ist eine dunklere Farbe als die des Anzeigeobjekts bzw. des Hintergrunds.
Weist das Anzeigeobjekt z. B. ein Pixel mit einem RGB-Wert von 0xFFCC33 und das Hintergrund-Pixel einen RGB-Wert von 0xDDF800 auf, lautet der resultierende RGB-Wert für das angezeigte Pixel 0xFFF833 (da 0xFF > 0xDD, 0xCC < 0xF8 und 0x33 > 0x00 = 33). Nicht unterstützt für GPU-Rendering.
Weist das Anzeigeobjekt z. B. ein Pixel mit einem RGB-Wert von 0xFFCC33 und das Hintergrund-Pixel einen RGB-Wert von 0xDDF800 auf, lautet der resultierende RGB-Wert für das angezeigte Pixel 0xDDCC00 (da 0xFF > 0xDD, 0xCC < 0xF8 und 0x33 > 0x00 = 33). Nicht unterstützt für GPU-Rendering.
Wenn das Anzeigeobjekt z. B. ein Pixel mit dem RGB-Farbwert 0xFFCC33 aufweist und das Pixel im Hintergrund den RGB-Wert 0xDDf800 hat, dann erhält das angezeigte Pixel den Wert 0x222C33 (da 0xFF - 0xDD = 0x22, 0xF8 - 0xCC = 0x2C und 0x33 - 0x00 = 0x33 ist).
Wenn das Anzeigeobjekt z. B. ein Pixel mit dem RGB-Farbwert 0xAAA633 aufweist und das Pixel im Hintergrund den RGB-Wert 0xDD2200 hat, dann erhält das angezeigte Pixel den Wert 0xFFC833 (da 0xAA + 0xDD > 0xFF, 0xA6 + 0x22 = 0xC8 und 0x33 + 0x00 = 0x33 ist).
Weist das Anzeigeobjekt z. B. ein Pixel mit einem RGB-Wert von 0xAA2233 und das Hintergrund-Pixel einen RGB-Wert von 0xDDA600 auf, lautet der resultierende RGB-Wert für das angezeigte Pixel 0x338400 (da 0xDD - 0xAA = 0x33, 0xA6 - 0x22 = 0x84 und 0x00 - 0x33 < 0x00).
Unterstützung von AIR-Profilen: Diese Funktion wird auf mobilen Geräten unterstützt, nicht jedoch auf Desktopbetriebssystemen. Für Geräte mit AIR für TV gilt die eingeschränkte Unterstützung. Bei Geräten mit AIR für TV werden die Transformierungen Skalieren und Versetzen, nicht jedoch Drehen und Neigen unterstützt. Weitere Informationen zum AIR-Support über mehrere Profile finden Sie unter
Wenn
Um die Hardwarebeschleunigung zu verwenden, stellen Sie im Dialogfeld „iPhone-Einstellungen“ von Flash Professional CS5 auf der Registerkarte „Allgemein“ für „Rendering“ die Option „GPU“ ein. Oder legen Sie die
Der folgende Code sendet zum Beispiel eine nicht transformierte Bitmapdarstellung des Anzeigeobjekts an die GPU:
Normalerweise ist die Identitätsmatrix (
Im Allgemeinen sollten Sie eine Matrix wählen, die das Anzeigeobjekt auf die Größe transformiert, in der es in der Anwendung erscheint. Wenn Ihre Anwendung zum Beispiel die Bitmapversion eines Sprites, das um die Hälfte verkleinert wurde, anzeigt, verwenden Sie eine Matrix, die um die Hälfte verkleinert wurde. Wenn die Anwendung das Sprite größer als mit den aktuellen Abmessungen anzeigt, verwenden Sie eine Matrix, die es um den entsprechenden Faktor vergrößert.
Hinweis: Die
Alle Vektordaten eines Anzeigeobjekts, das eine zwischengespeicherte Bitmap besitzt, werden nicht in die Hauptanzeige, sondern in eine Bitmap gezeichnet. Wenn
Wenn
Interne Bitmaps werden nur erstellt, wenn die
Nachdem Sie die
Die
In einigen Fällen verwendet ein Anzeigeobjekt keine Bitmap, auch wenn die
Die
Filter können entweder während der Entwurfsphase in Flash-Professional oder zur Laufzeit durch Verwendung von ActionScript-Code angewendet werden. Damit Sie einen Filter mithilfe von ActionScript anwenden können, müssen Sie zunächst eine temporäre Kopie des gesamten
Um einen Filter mithilfe von ActionScript hinzuzufügen, müssen Sie die folgenden Schritte befolgen (wobei
Wenn das
Um ein vorhandenes filter-Objekt zu ändern, müssen Sie eine Technik anwenden, bei der eine Kopie des
Wenn ein Anzeigeobjekt während des Ladevorgangs mit einem Filter verknüpft ist, ist dieses so gekennzeichnet, dass es sich selbst als transparente Bitmap zwischenspeichert. Von diesem Punkt an speichert der Player das Anzeigeobjekt als Bitmap zwischen, solange das Anzeigeobjekt eine zulässige Filterliste besitzt. Diese Quell-Bitmap wird als Quellbild für die Filtereffekte verwendet. Jedes Anzeigeobjekt besitzt in der Regel zwei Bitmaps: eine mit dem ursprünglichen Quellanzeigeobjekt, und eine zweite für das nach dem Filtern entstehende Bild. Dieses Ergebnisbild wird für die Wiedergabe verwendet. Solange sich das Anzeigeobjekt nicht ändert, muss das Ergebnisbild nicht aktualisiert werden.
Das flash.filters-Paket umfasst Klassen für Filter. Um beispielsweise einen DropShadow-Filter zu erstellen, würden Sie folgenden Code schreiben:
Mithilfe des Operators
Hinweis: Da Sie ein neues filter-Objekt dem
Abgesehen von TextField- und Video-Objekten, hat ein Anzeigeobjekt ohne Inhalt (z. B. ein leeres Sprite) eine Höhe von 0, selbst wenn Sie versuchen,
Eine große SWF-Datei kann ihren Download überwachen, indem sie
Ein mask-Objekt kann nur skaliert werden, wenn es sich in der Anzeigeliste befindet. Ein mask-Sprite-Objekt kann nur gezogen werden (durch Aufrufen seiner
Wenn Anzeigeobjekte zwischengespeichert werden, indem die
Hinweis: Ein einzelnes
Hinweis: Bei einem gedrehten Anzeigeobjekt spiegelt die zurückgegebene x-Koordinate das nicht gedrehte Objekt wider.
Hinweis: Bei einem gedrehten Anzeigeobjekt spiegelt die zurückgegebene y-Koordinate das nicht gedrehte Objekt wider.
Wird ein numerischer Wert angegeben, ist die Oberfläche undurchsichtig (nicht transparent) und besitzt die durch diese Nummer bezeichnete RGB-Hintergrundfarbe. Bei einem Wert von
Die
Beim Aufrufen einer hitTestPoint()-Methode, bei der der Parameter
Der Bereich für den undurchsichtigen Hintergrund reagiert nicht auf Mausereignisse.
Sie können
Angenommen, Sie erstellen ein neues Sprite-Objekt, indem Sie die Konstruktormethode
Bei einer geladenen SWF-Datei ist die
scale9Grid
set for the movie clip, the thickness of the 20-pixel line does not
vary when the clip scales (although the gradient in the movie clip does scale):
Wenn Sie dagegen die
Die acht Felder außerhalb des Rechtecks können Sie sich als einen Bilderrahmen denken, auf den beim Skalieren spezielle Regeln angewendet werden.
Wenn die
Wird das Anzeigeobjekt gedreht, zeigen alle nachfolgende Skalierungen normales Verhalten (und die
Betrachten Sie beispielsweise das folgende Anzeigeobjekt und das Rechteck, das als
Das Anzeigeobjekt.
Im roten Rechteck wird das
Wenn das Anzeigeobjekt skaliert oder gedehnt wird, werden die Objekte innerhalb des Rechtecks normal skaliert, aber die Objekte außerhalb des Rechtecks werden gemäß den Regeln für ein
Normalerweise wird die
Die Skalierung des lokalen Koordinatensystems ändert die Werte der
Die Skalierung des lokalen Koordinatensystems ändert die Werte der
Die Skalierung des lokalen Koordinatensystems ändert die Werte der
Die Eigenschaften des
Sie können den Objektausschnitt nach links und rechts verschieben, indem Sie die
Wird ein Anzeigeobjekt nicht in die Anzeigeliste aufgenommen, ist seine
Jede Eigenschaft des transform-Objekts ist selbst wiederum ein Objekt. Dies ist wichtig, da für matrix- und colorTransform-Objekte neue Werte nur gesetzt werden können, indem ein neues Objekt erstellt und in die transform.matrix- oder transform.colorTransform-Eigenschaft kopiert wird.
Um etwa den
var myMatrix:Matrix = myDisplayObject.transform.matrix; myMatrix.tx += 10; myDisplayObject.transform.matrix = myMatrix;
Sie können die
myDisplayObject.transform.matrix.tx += 10;
Eine andere Möglichkeit besteht darin, das gesamte transform-Objekt zu kopieren und es der transform-Eigenschaft eines anderen Anzeigeobjekts zuzuweisen. Der nachfolgende Code kopiert z. B. das gesamte transform-Objekt von
Das resultierende Anzeigeobjekt,
Beachten Sie, dass Geräte mit AIR für TV für Farbtransformierungen automatisch die Hardwarebeschleunigung verwenden, sofern verfügbar.
Abgesehen von TextField- und Video-Objekten, hat ein Anzeigeobjekt ohne Inhalt (z. B. ein leeres Sprite) eine Breite von 0, selbst wenn Sie versuchen,
Wird die
Beispiel: Ein untergeordnetes Element von
Wird die
Der Shader, der der
Wird dieser Eigenschaft eine Shader-Instanz zugewiesen, so wird der Shader intern kopiert. Der Mischvorgang verwendet diese interne Kopie, anstatt eines Verweises auf den ursprünglichen Shader. Änderungen am Shader (beispielsweise an Parameterwerten, Eingabe oder Bytecode) werden nicht auf die für den Mischmodus verwendete Shaderkopie angewendet.
Verwenden Sie die URLLoader-Klasse, um Text oder Binärdaten zu laden.
Die Loader-Klasse setzt die folgenden übernommenen Methoden außer Kraft, da ein Loader-Objekt nur ein untergeordnetes Anzeigeobjekt besitzen kann, nämlich das Anzeigeobjekt, das geladen wird. Durch das Aufrufen der folgenden Methoden wird eine Ausnahme ausgelöst:
Hinweis: Die ActionScript 2.0-Klassen MovieClipLoader und LoadVars werden in ActionScript 3.0 nicht verwendet. Sie werden durch die Klassen Loader und URLLoader ersetzt.
Beachten Sie bei Verwendung der Loader-Klasse das Sicherheitsmodell von Flash Player und Adobe AIR:
In AIR unterliegt Inhalt in der Sicherheits-Sandbox
Weitere Informationen zum Thema Sicherheit finden Sie im Flash Player Developer Center im Abschnitt
Wenn Sie eine SWF-Datei aus einer nicht vertrauenswürdigen Quelle laden (etwa einer Domäne, die nicht mit der Stamm-SWF-Datei des Loader-Objekts übereinstimmt), empfiehlt es sich, eine Maske für das Loader-Objekt zu definieren. Dadurch wird verhindert, dass der geladene Inhalt (der dem Loader-Objekt untergeordnet ist) in Bereichen der Bühne gezeichnet wird, die außerhalb dieser Maske liegen. Ein Beispiel hierfür finden Sie im nachfolgenden Code:
Beachten Sie folgende Bedingungen:
Sie können eine Loader-Instanz auch außerhalb der Liste verwenden, also ohne sie in einen Anzeigeobjekt-Container in der Anzeigeliste einzufügen. In diesem Modus kann die Loader-Instanz zum Laden einer SWF-Datei verwendet werden, die zusätzliche Module einer Anwendung enthält.
Um festzustellen, wann die SWF-Datei vollständig geladen ist, können Sie die Ereignisse des LoaderInfo-Objekts verwenden, das der
Um den Status eines Loader-Objekts zu ermitteln, überwachen Sie die folgenden Ereignisse, die das LoaderInfo-Objekt der
Wenn der
Weitere Informationen zum Thema Sicherheit finden Sie im Flash Player Developer Center im Abschnitt
Die
Wenn Sie diese Methode verwenden, beachten Sie das Flash Player-Sicherheitsmodell, das in der Beschreibung der Loader-Klasse erklärt wird.
Wenn der
Weitere Informationen zum Thema Sicherheit finden Sie im Flash Player Developer Center im Abschnitt
Die
Wenn Sie diese Methode verwenden, beachten Sie das Flash Player-Sicherheitsmodell, das in der Beschreibung der Loader-Klasse erklärt wird.
MovieClipLoader.loadClip()
method by creating a handler for the onLoadInit
event and then making the request.
You should either place the following code directly into a frame action on a Timeline, or paste it into a class that extends MovieClip. This code also expects an image named YourImage.jpg to exist in the same directory as the compiled SWF file.
Wenn der
Vollständige Angaben finden Sie in der Beschreibung der Eigenschaften in der Klasse
Hinweis: In AIR 1.5 und Flash Player 10 ist die maximale Höhe oder Breite eines geladenen Bilds 8.191 Pixel, die Pixelzahl darf insgesamt 16.777.215 nicht übersteigen. (Wenn ein geladenes Bild also 8.191 Pixel breit ist, darf es nur 2.048 Pixel hoch sein.) In Flash Player 9 und niedriger und AIR 1.1 und niedriger liegt die Grenze bei je 2.880 Pixel Höhe und Breite.
Eine in ein Loader-Objekt geladene SWF- oder Bilddatei übernimmt die Positions-, Drehungs- und Skalierungseigenschaften der dem Loader-Objekt übergeordneten Anzeigeobjekte.
Mit der
Sie können eine SWF-Datei daran hindern, diese Methode aufzurufen, indem Sie auf der HTML-Seite, die den SWF-Inhalt enthält, den Parameter
Wenn Sie diese Methode verwenden, beachten Sie das Flash Player-Sicherheitsmodell, das in der Beschreibung der Loader-Klasse erklärt wird.
Wenn Sie in Flash Player 10 oder höher einen Multipart-Content-Type verwenden (z. B. „multipart/form-data“), der einen Upload enthält (gekennzeichnet durch einen „filename“-Parameter in einem „content-disposition“-Header innerhalb des POST-Body), so unterliegt die POST-Methode den Sicherheitsregeln für Uploads:
Bei mehrteiligen Inhaltstypen muss zudem auch die Syntax gemäß Standard RFC2046 gültig sein. Scheint die Syntax ungültig zu sein, so unterliegt die POST-Methode den Sicherheitsregeln für Uploads.
Weitere Informationen zum Thema Sicherheit finden Sie im Flash Player Developer Center im Abschnitt
Es ist ratsam, vor dem Entladen einer untergeordneten SWF-Datei alle Streams in deren Objekten, z. B. LocalConnection-, NetConnection-, NetStream- oder Sound-Objekte, ausdrücklich zu schließen. Andernfalls kann es passieren, dass Audiodaten in der untergeordneten SWF-Datei unaufhörlich abgespielt werden, obwohl die SWF-Datei selbst bereits entladen worden ist. Um Streams in der untergeordneten SWF-Datei zu schließen, fügen Sie dem untergeordneten Objekt, das auf das
function closeAllStreams(evt:Event) { myNetStream.close(); mySound.close(); myNetConnection.close(); myLocalConnection.close(); } myMovieClip.loaderInfo.addEventListener(Event.UNLOAD, closeAllStreams);
Ereignisse, die sich auf das Laden beziehen, werden durch das LoaderInfo-Objekt ausgelöst, auf das über die
Um nicht erfasste Fehler zu erkennen, die in einer geladenen SWF-Datei auftreten, verwenden Sie die
Beachten Sie, dass die
Wenn es sich bei dem vom Loader-Objekt geladenen Inhalt um eine AVM1 (ActionScript 2)-SWF-Datei handelt, führen nicht erfasste Fehler in der AVM1-SWF-Datei nicht zu einem
Im Konstruktor erstellt der Code ein Loader-Objekt und registriert einen Listener für das
In der
Bei einem Menüelement kann es sich um einen Befehl, ein Untermenü oder um eine Trennlinie handeln:
Durch Warten auf
Verwenden Sie einen Listener für dieses Ereignis, um das Element zu aktualisieren, bevor das enthaltende Menü angezeigt wird, oder wenn der Benutzer die Tastenentsprechung drückt. Das
Das
Das
Ein
Hinweis: Wenn sich das Menü in einem Fenster im Vollbildmodus befindet (
Zum Erstellen eines Menübefehls stellen Sie den
Zum Erstellen eines Untermenübefehls erstellen Sie ein Befehlselement und weisen dann das NativeMenu-Objekt des Untermenüs der
Zum Erstellen einer Trennlinie stellen Sie den
Um Elemente in einem Menü hinzuzufügen oder zu entfernen, verwenden Sie die NativeMenu-Methoden
Sie können dieser Eigenschaft jedes Objekt zuweisen. Das zugewiesene Objekt wird nicht vom Menüsystm verwendet, sondern steht für Ereignisprozedurcode zur Verfügung (über die target-Eigenschaft des Ereignisobjekts). Standardmäßig hat diese Eigenschaft den Wert
Zum Erstellen einer Trennlinie stellen Sie den
Verwenden Sie die in der Keyboard-Klasse definierten Konstanten, um die Zusatztastencodes anzugeben. Gültige Zusatztasten sind:
Wenn Sie keine Zusatztaste zuweisen, wird unter Windows oder Linux standardmäßig die
Wenn Sie der
Setzen Sie
Standardmäßig erfordern Tastaturbefehle die Betätigung einer Zusatztaste (die Strg-Taste unter Windows und die Befehlstaste unter Mac OS X). Wenn Sie einen Tastaturbefehl ohne Zusatztaste festlegen möchten, setzen Sie die
Das Zeichen an der angegebenen Position ist das Zugriffszeichen des Menüelements. Der Index basiert auf Null, das heißt, dass das erste Zeichen den Indexwert 0 hat.
Auf Betriebssystemen, die keine Zugriffszeichen für Menüs verwenden, wird diese Eigenschaft ignoriert.
Der Namenswert wird nicht angezeigt und kann als vom Gebietsschema unabhängiger Bezeichner verwendet werden. Die Zuweisung von Namen erfolgt nicht automatisch.
Wenn dieser Eigenschaft ein NativeMenu-Objekt zugewiesen wird, ändern sich Darstellung und Verhalten des Menüelements. Ein Untermenüelement zeigt das Untermenüsymbol an und löst keine select-Ereignisse mehr aus.
Hinweis: Wird ein Menü sich selbst als Untermenü hinzugefügt (Zirkelverweis), kann die Anwendung hängen bleiben.
Unterstützung von AIR-Profilen: Diese Funktion wird auf allen Desktopbetriebssystemen unterstützt, jedoch nicht auf mobilen Geräten oder Geräten mit AIR für TV. Mit der
Ein natives Menü ist ein Menü, das nicht von Ihrer Anwendung, sondern vom Betriebssystem gesteuert und gezeichnet wird. AIR unterstützt die folgenden Typen von nativen Menüs:
Ein Menüobjekt enthält Menüelemente. Ein Menüelement kann einen Befehl, ein Untermenü oder eine Trennlinie repräsentieren. Fügen Sie einem Menü mithilfe der
Um ein Untermenü zu erstellen, fügen Sie dem übergeordneten Menüobjekt ein Menüelement hinzu. Weisen Sie das Menüobjekt, das das Untermenü repräsentiert, der
Hinweis: Das Stammmenü von Fenster- und Anwendungsmenüs darf nur Untermenüelemente enthalten. Elemente, die keine Untermenüs repräsentieren, dürfen nicht angezeigt werden, da dies den Erwartungen der Benutzer für diese Menütypen widersprechen würde.
Menüs lösen
Menüs setzen
Hinweis: Wenn Sie im Flex-Framework arbeiten, ziehen Sie die Verwendung der FlexNativeMenu-Klasse in Betracht. Es ist normalerweise einfacher, Menüs deklarativ in MXML zu definieren, als ActionScript-Code zu schreiben, um die Menüstruktur Element für Element zu erstellen.
Verwenden Sie einen Listener für dieses Ereignis, um das Menü zu aktualisieren, bevor es angezeigt wird, oder wenn der Benutzer eine Tastenentsprechung drückt. Das
Das
Durch Warten auf dieses Ereignis kann das Menü vor der Anzeige aktualisiert werden. Ein
Das
Hinweis: Unter Mac OS X haben Menüs und Menüelemente in Versionen vor AIR 2.6 ein
Ein
Hinweis: Das Hinzufügen eines Elements zu einem Menü kann dazu führren, dass die Anwendung hängen bleibt, wenn das Untermenü des Elements auf das Menü selbst gesetzt ist (Zirkelverweis).
Beim Erstellen eines Kontextmenüs können Sie entweder NativeMenuItem- oder ContextMenuItem-Objekte hinzufügen. Es wird jedoch empfohlen, dass Sie in einem Kontextmenü nur einen Objekttyp verwenden, damit alle Menüelemente über dieselben Eigenschaften verfügen.
Hinweis: Das Hinzufügen eines Elements zu einem Menü kann dazu führren, dass die Anwendung hängen bleibt, wenn das Untermenü des Elements auf das Menü selbst gesetzt ist (Zirkelverweis).
Das Aufrufen der
Hinweis: Wird ein Menü sich selbst als Untermenü hinzugefügt (Zirkelverweis), kann die Anwendung hängen bleiben.
Das Aufrufen der
Hinweis: Wird ein Menü sich selbst als Untermenü hinzugefügt (Zirkelverweis), kann die Anwendung hängen bleiben.
Hinweis: Die
Das Array wird in der Anzeigereihenfolge sortiert.
Hinweis: Diese Eigenschaft ist in AIR 1.0 schreibgeschützt. In AIR 1.1 wurde der Modus in Lesen/Schreiben geändert.
Der
Hinweis: Wenn die Ausrichtung des Geräts nach links gedreht wird, muss die Ausrichtung der Bühne nach rechts gedreht werden, damit sie aufrecht bleibt.
Hinweis: Wenn die Ausrichtung des Geräts nach rechts gedreht wird, muss die Ausrichtung der Bühne nach links gedreht werden, damit sie aufrecht bleibt.
DisplayObject ist eine abstrakte Basisklasse. Daher können Sie DisplayObject nicht direkt aufrufen. Durch das Aufrufen von
Weitere Informationen finden Sie im Kapitel „Programmierung von Anzeigeobjekten“ des ActionScript 3.0 Entwicklerhandbuchs.
Das folgende Beispiel enthält z. B. drei Anzeigeobjekte mit der Bezeichnung a, b und c jeweils an den Indexpositionen 0, 1 und 2:
Wenn Sie ein Child-Objekt hinzufügen, das bereits einem anderen Anzeigeobjektcontainer untergeordnet worden ist, wird es aus dessen Child-Liste entfernt.
Wenn Sie ein Child-Objekt hinzufügen, das bereits einem anderen Anzeigeobjektcontainer untergeordnet worden ist, wird es aus dessen Child-Liste entfernt.
Hinweis: Der Befehl
Der Parameter
Die
Der Parameter
Der Garbage Collector weist nicht verwendete Speicherkapazität neu zu. Wenn auf Variablen oder Objekte nicht mehr aktiv verwiesen wird und diese auch nirgends mehr gespeichert sind, werden sie vom Garbagekollektor entfernt, und der belegte Arbeitsspeicher wird bereinigt.
Der Garbage Collector weist nicht verwendete Speicherkapazität neu zu. Wenn auf Variablen oder Objekte nicht mehr aktiv verwiesen wird und diese auch nirgends mehr gespeichert sind, werden sie vom Garbagekollektor entfernt, und der belegte Arbeitsspeicher wird bereinigt.
Wenn Sie die
Dieser Code führt zur folgenden Objektanordnung:
Diese Eigenschaft ist praktisch, wenn Sie eine Schaltfläche mit einer Instanz der Sprite-Klasse (anstelle der SimpleButton-Klasse) erstellen. Wenn Sie zum Erstellen einer Schaltfläche eine Sprite-Instanz verwenden, können Sie die Schaltfläche ausrüsten und mithilfe der
Durch das Festlegen dieser Eigenschaft wird kein Ereignis ausgelöst. Um interaktive Funktionalität zu erzielen, müssen Sie die
Hinweis: Verwenden Sie die
Verwenden Sie ein GraphicsGradientFill-Objekt mit der
Hinweis: Dieser Wert repräsentiert Positionen im Farbverlaufsfeld, nicht im Koordinatenraum des endgültigen Farbverlaufs, der breiter oder schmaler als das Farbverlaufsfeld sein kann. Geben Sie für jeden Wert in der
Die folgende Abbildung zeigt für einen linearen Verlauf mit den zwei Farben blau und grün die Farbplatzierung im Verlauf basierend auf den verschiedenen Werten im
Die Werte im Array müssen sich sequenziell erhöhen. Beispiel:
Das folgende Beispiel zeigt einen einfachen linearen Farbverlauf zwischen zwei Farben (wobei der
Das folgende Beispiel zeigt einen einfachen linearen Farbverlauf zwischen zwei Farben:
Dieses Beispiel verwendet
Mit der Auftragstärke
Mit der Auftragstärke
Ein Sprite-Objekt ähnelt einem Movieclip, besitzt aber keine Zeitleiste. Sprite ist die angemessene Basisklasse für Objekte, die keine Zeitleiste benötigen. So wäre Sprite etwa die logische Basisklasse für Komponenten der Benutzeroberfläche (UI, User Interface), die in der Regel keine Zeitleiste verwenden.
Die Sprite-Klasse ist neu in ActionScript 3.0. Sie bietet eine Alternative zur Funktionalität der MovieClip-Klasse, die die gesamte Funktionalität früherer ActionScript-Versionen beibehält, um die Abwärtskompatibilität zu gewährleisten.
Hinweis: Jede Ereignis-Listener-Methode deklariert eine lokale
Dreidimensionale Anzeigeobjekte folgen dem Zeiger und
Dreidimensionale Anzeigeobjekte folgen dem Zeiger und
Obwohl es besser ist, für die Erstellung von Schaltflächen die SimpleButton-Klasse zu verwenden, können Sie die
Wenn Sie die
Die
Hinweis: Sie müssen die
Hinweis: Diese Eigenschaft betrifft nicht HTML-Inhalt in einem HTMLControl-Objekt (in Adobe AIR).
Die
Hinweis: Wenn das Sprite in Flex oder Flash Builder untergeordnete Sprites enthält, empfiehlt es sich möglicherweise, die
Verwenden Sie ein GraphicsBitmapFill-Objekt mit der
Wenn
Nehmen Sie die folgende Bitmap (ein Schachbrettmuster im Format 20 x 20 Pixel) als Beispiel:
Ist
Ist
Wenn
Verwenden Sie ein GraphicsStroke-Objekt mit der
Wird kein Wert angegeben, wird die Funktion nicht verwendet.
Die folgende Abbildung zeigt beispielsweise die verschiedenen Einstellungen für
Die folgende Abbildung zeigt beispielsweise die verschiedenen Einstellungen für
Hinweis: Ist
Betrachten Sie beispielsweise die folgenden Winkellinien mit einer
Beachten Sie, dass bei einem gegebenen
Betrachten Sie beispielsweise die folgenden Winkellinien mit einer
Beachten Sie, dass bei einem gegebenen
Die folgende Abbildung zeigt beispielsweise die verschiedenen Einstellungen für
Die folgende Abbildung zeigt beispielsweise die verschiedenen Einstellungen für
Hinweis: Ist
Das Zeichnen eines GraphicsEndFill-Objekts entspricht dem Aufrufen der
Die Auswahl des Präzisionsmodus wirkt sich auf die folgenden Shadervorgänge aus. Diese Vorgänge sind auf einem Intel-Prozessor schneller, wenn die SSE-Anweisung wie folgt eingestellt ist:
Der schnelle Präzisionsmodus gewährleistet maximale Leistung, funktioniert aber nicht konsistent über alle Plattformen und individuellen CPU-Konfigurationen hinweg. Diese Präzisionsebene reicht aus, um Grafikeffekte ohne sichtbare Artefakte zu erstellen.
Der schnelle Präzisionsmodus ist normalerweise schneller als die Verwendung von Suchtabellen.
Im vollen Präzisionsmodus berechnet der Shader alle mathematischen Operationen auf Basis des 32-Bit-Gleitkommastandards des IEEE. Dieser Modus gewährleistet konsistentes Verhalten auf allen Plattformen. In diesem Modus können einige mathematische Operationen, wie beispielsweise trigonometrische und Exponentialfunktionen, langsam sein.
Wenn das Anzeigeobjekt z. B. ein Pixel mit dem RGB-Farbwert 0xAAA633 aufweist und das Pixel im Hintergrund den RGB-Wert 0xDD2200 hat, dann erhält das angezeigte Pixel den Wert 0xFFC833 (da 0xAA + 0xDD > 0xFF, 0xA6 + 0x22 = 0xC8 und 0x33 + 0x00 = 0x33 ist).
Nicht unterstützt für GPU-Rendering.
Weist das Anzeigeobjekt z. B. ein Pixel mit einem RGB-Wert von 0xFFCC33 und das Hintergrund-Pixel einen RGB-Wert von 0xDDF800 auf, lautet der resultierende RGB-Wert für das angezeigte Pixel 0xDDCC00 (da 0xFF > 0xDD, 0xCC < 0xF8 und 0x33 > 0x00 = 33).
Nicht unterstützt für GPU-Rendering.
Wenn das Anzeigeobjekt z. B. ein Pixel mit dem RGB-Farbwert 0xFFCC33 aufweist und das Pixel im Hintergrund den RGB-Wert 0xDDf800 hat, dann erhält das angezeigte Pixel den Wert 0x222C33 (da 0xFF - 0xDD = 0x22, 0xF8 - 0xCC = 0x2C und 0x33 - 0x00 = 0x33 ist).
Nicht unterstützt für GPU-Rendering.
Nicht unterstützt für GPU-Rendering.
Nicht unterstützt für GPU-Rendering.
Weist das Anzeigeobjekt z. B. ein Pixel mit einem RGB-Wert von 0xFFCC33 und das Hintergrund-Pixel einen RGB-Wert von 0xDDF800 auf, lautet der resultierende RGB-Wert für das angezeigte Pixel 0xFFF833 (da 0xFF > 0xDD, 0xCC < 0xF8 und 0x33 > 0x00 = 33).
Nicht unterstützt für GPU-Rendering.
Weisen beispielsweise die Grundfarbe (etwa Rot) eines Pixels im Anzeigeobjekt und eines Hintergrund-Pixels den Wert 0x88 auf, lautet das Ergebnis der Multiplikation 0x4840. Die Division durch 0xFF ergibt für diese Grundfarbe 0x48. Dies ist eine dunklere Farbe als die des Anzeigeobjekts bzw. des Hintergrunds.
Nicht unterstützt für GPU-Rendering.
Wird die
Nicht unterstützt für GPU-Rendering.
Weist das Anzeigeobjekt z. B. ein Pixel mit einem RGB-Wert von 0xAA2233 und das Hintergrund-Pixel einen RGB-Wert von 0xDDA600 auf, lautet der resultierende RGB-Wert für das angezeigte Pixel 0x338400 (da 0xDD - 0xAA = 0x33, 0xA6 - 0x22 = 0x84 und 0x00 - 0x33 < 0x00).
Sie können ein Graphics-Objekt nicht direkt aus ActionScript-Code erstellen. Wenn Sie
Die Graphics-Klasse ist endgültig, d. h., aus ihr können keine Unterklassen abgeleitet werden.
Nehmen Sie die folgende Bitmap (ein Schachbrettmuster im Format 20 x 20 Pixel) als Beispiel:
Ist
Ist
Die Anwendung stellt die Füllung immer dann dar, wenn drei oder mehr Punkte gezeichnet werden oder die
Die Anwendung stellt die Füllung immer dann dar, wenn drei oder mehr Punkte gezeichnet werden oder die
Hinweis: Dieser Wert repräsentiert Positionen im Farbverlaufsfeld, nicht im Koordinatenraum des endgültigen Farbverlaufs, der breiter oder schmaler als das Farbverlaufsfeld sein kann. Geben Sie für jeden Wert im Parameter
Die folgende Abbildung zeigt für einen linearen Verlauf mit den beiden Farben Blau und Grün die Farbplatzierung im Verlauf basierend auf den verschiedenen Werten im
Die Werte im Array müssen sich sequenziell erhöhen. Beispiel:
Angenommen, Sie haben einen einfachen linearen Farbverlauf zwischen zwei Farben:
Dieses Beispiel verwendet
Mit der Auftragstärke
Mit der Auftragstärke
Angenommen, Sie haben einen einfachen linearen Farbverlauf zwischen zwei Farben (wobei der Parameter
Die Anwendung stellt die Füllung immer dann dar, wenn drei oder mehr Punkte gezeichnet werden oder die
Wird eine Shader-Instanz als Argument übergeben, so wird der Shader intern kopiert. Beim Füllzeichenvorgang wird diese interne Kopie verwendet anstatt des Verweises auf den ursprünglichen Shader. Änderungen am Shader, beispielsweise die Änderung eines Parameterwerts, einer Eingabe, oder des Bytecode, werden nicht auf die Kopie des Shaders angewendet, die für die Füllung verwendet wird.
Die vom Shader entgegengenommenen Koordinaten basieren auf der im
Die Anwendung stellt die Füllung immer dann dar, wenn drei oder mehr Punkte gezeichnet werden oder die
Shader-Füllungen werden beim GPU-Rendering nicht unterstützt; gefüllte Bereiche werden in Cyan eingefärbt.
Die gezeichnete Kurve ist eine quadratische Bézierkurve. Quadratische Bézierkurven bestehen aus zwei Ankerpunkten und einem Steuerpunkt. Die Kurve interpoliert die zwei Ankerpunkte und neigt sich zum Steuerpunkt hin.
Zeichnen Sie vier Kurven, um einen Kreis zu erzeugen, und füllen Sie ihn grün aus.
Beachten Sie, dass aufgrund der Beschaffenheit der quadratischen Bezier-Gleichung kein perfekter Kreis entsteht. Am besten zeichnen Sie einen Kreis mit der Methode
Es werden zwei Kurven mit einer Linienstärke von 1 Pixel gezeichnet und der Raum zwischen den Kurven wird weiß ausgefüllt. Mit der Methode
Grafikpfade können andere Grafikpfade enthalten. Enthält der
Generell ist die Darstellung von Zeichnungen mithilfe von
Die
Die
Entspricht die Länge dieses Vektors der doppelten Länge des
Entspricht die Länge dieses Vektors der dreifachen Länge des
Ist der
Es kann jeder Füllungstyp verwendet werden, aber wenn die Füllung über eine Transformationsmatrix verfügt, wird diese Transformationsmatrix ignoriert.
Ein
Der Bitmaplinienstil wird für nachfolgende Aufrufe von Graphics-Methoden, z. B.
Sie können die
Rufen Sie die
Wenn Sie die
Die folgende Abbildung zeigt für einen linearen Verlauf mit den beiden Farben Rot und Blau die Farbplatzierung im Verlauf basierend auf den verschiedenen Werten im
Die Werte im Array müssen sich sequenziell erhöhen. Beispiel:
Der Linienverlaufsstil wird für nachfolgende Aufrufe von Graphics-Methoden, z. B.
Sie können
Rufen Sie die
Wenn Sie die
Mit der Methode
Der Shaderlinienstil wird für nachfolgende Aufrufe von Graphics-Methoden, z. B.
Sie können die
Rufen Sie die
Wenn Sie die
miterLimit
set to 1:
Wird kein Wert angegeben, wird die Funktion nicht verwendet.
Die folgende Abbildung zeigt beispielsweise die verschiedenen Einstellungen für
Die folgende Abbildung zeigt beispielsweise die verschiedenen Einstellungen für
Hinweis: Ist
Betrachten Sie beispielsweise die folgenden Winkellinien mit einer
Beachten Sie, dass bei einem gegebenen
Sie können die
Hinweis: Wenn Sie die
Hinweis: Flash Lite 4 unterstützt nur die ersten drei Parameter (
Die Linienstärke wird auf 10 Pixel, die Farbe auf gold und deckend gesetzt, es werden keine Linienabschlüsse verwendet (da alle Linien verbunden sind), und die Verbindung zwischen den Linien wird auf
Mithilfe der Methode
Da es sich bei
Hinweis: Der Wert der type-Eigenschaft wird bei der Erstellung eines Fensters festgelegt und kann später nicht mehr geändert werden.
Bei Bildschirmen handelt es sich um unabhängige Desktop-Bereiche innerhalb eines möglicherweise größeren virtuellen Desktops. Der Ursprung des virtuellen Desktops ist die obere linke Ecke des vom Betriebssystem festgelegten Hauptbildschirms. Deshalb können die Koordinaten für die Begrenzungen eines einzelnen Anzeigebildschirms negativ sein. Der virtuelle Desktop kann auch Bereiche enthalten, die sich nicht in einem der Anzeigebildschirme befinden.
Die Screen-Klasse enthält statische Klassenmitglieder für den Zugriff auf die verfügbaren Bildschirmobjekte sowie Instanzmitglieder für den Zugriff auf die Eigenschaften eines einzelnen Bildschirms. Bildschirminformationen sollten nicht zwischengespeichert werden, da sie jederzeit von einem Benutzer geändert werden können.
Beachten Sie, dass die Bildschirme und die an den Computer angeschlossenen Monitore sich nicht unbedingt 1:1 entsprechen. Beispielsweise kann ein Bildschirm auf zwei Monitoren angezeigt werden.
Die Screen-Klasse kann nicht direkt instanziiert werden. Aufrufe des
Hinweis: Diese Klasse ist als Stammklasse einer AIR-Anwendung mit den Einstellungen
Die Bildschirmposition ist relativ zum virtuellen Desktop.
Unter Linux-Systemen, die bestimmte Fenstermanager verwenden, gibt diese Eigenschaft die Grenzen des Desktops, nicht die sichtbaren Grenzen des Bildschirms zurück.
Eine Änderung des zurückgegebenen Arrays hat keinerlei Auswirkungen auf die verfügbaren Bildschirme.
Die
Hinweis: Die Vollbildmodi werden mithilfe der
Mit dem Konstruktor
Ein Bitmap-Objekt kann seinen BitmapData-Verweis auf mehrere Bitmap-Objekte aufteilen, und zwar unabhängig von Übersetzungs- oder Drehungseigenschaften. Da Sie mehrere Bitmap-Objekte erstellen können, die auf dasselbe BitmapData-Objekt verweisen, können mehrere Anzeigeobjekte dasselbe komplexe BitmapData-Objekt verwenden, ohne die Speicherbelastung des BitmapData-Objekts für jede Anzeigeobjektinstanz berücksichtigen zu müssen.
Ein BitmapData-Objekt kann von einem Bitmap-Objekt auf zweierlei Weise auf den Bildschirm gezeichnet werden: Entweder, indem der Vektorrenderer als eine Form mit Bitmap-Füllung verwendet wird, oder indem Sie eine schnellere Pixelkopierroutine einsetzen. Die Pixelkopierroutine ist wesentlich schneller als der Vektorrenderer, doch muss das Bitmap-Objekt bestimmte Bedingungen erfüllen, damit sie eingesetzt werden kann:
Wenn Sie ein Bitmap-Objekt aus einer anderen Domäne als der des Loader-Objekts verwenden, mit dem das Bild geladen wurde, und es keine URL-Richtliniendatei gibt, die den Zugriff auf die Domäne des Loader-Objekts erlaubt, kann ein Skript in dieser Domäne nicht auf die Bitmap-Objekte und deren Eigenschaften und Methoden zugreifen. Weitere Informationen finden Sie im Flash Player Developer Center im Abschnitt
Hinweis: Die Bitmap-Klasse ist keine Unterklasse der InteractiveObject-Klasse, sodass keine Mausereignisse ausgelöst werden können. Sie können jedoch die
Hinweise:
Diese Eigenschaften werden dem ShaderData-Objekt bei der Erstellung hinzugefügt. Die Namen der Eigenschaften stimmen mit den im Shaderquellcode festgelegten Namen überein. Die Datentypen der verschiedenen Eigenschaften sind unterschiedlich, je nachdem, welchen Aspekt des Shaders die Eigenschaft darstellt. Die Eigenschaften, die Shaderparameter darstellen, sind ShaderParameter-Instanzen; die Eigenschaften, die Eingabebilder darstellen sind ShaderInput-Instanzen; die Eigenschaften, die Shadermetadaten darstellen, sind Instanzen der ActionScript-Klasse, die dem jeweiligen Datentyp entsprechen (Beispiel: eine String-Instanz für Metadaten im Textformat, eine uint-Instanz für uint-Metadaten).
Sehen Sie sich beispielsweise diesen Shader an, der durch ein Eingabebild (
Wenn Sie eine Shader-Instanz durch Laden des Bytecodes für diesen Shader erstellen, enthält die ShaderData-Instanz in ihren
Beachten Sie: Eingabebilder oder Parameter, die zwar im Shaderquellcode definiert sind, aber in der
Im Allgemeinen wird eine ShaderData-Instanz nicht durch Entwicklercode erstellt. Eine ShaderData-Instanz, die Daten, Parameter und Eingaben für einen Shader enthält, ist als
Beachten Sie, dass im Beispiel davon ausgegangen wird, dass im selben Ordner wie dem Ausgabeordner der Anwendung eine Shaderbytecodedatei mit dem Namen „donothing.pbj“ vorhanden ist.
Es gibt zwei Hauptgründe für die Verwendung des Shaders im eigenständigen Modus:
Die
Vor Ausführung des ShaderJob-Vorgangs stellen Sie ein Objekt bereit, in das das Ergebnis geschrieben wird. Dazu setzen Sie das Objekt als Wert für die
Zum Starten eines Shadervorgangs im Hintergrund rufen Sie die
Um einen Shader synchron auszuführen (also nicht im Hintergrund), führen Sie die
Mehrfaches Aufrufen von
Im asynchronen Modus (wenn
Es kann jeweils nur ein ShaderJob-Vorgang im Hintergrund ausgeführt werden. Shadervorgänge werden bis zu ihrer Ausführung in eine Warteschlange gereiht. Wird während der Ausführung eines Shadervorgangs die
Ein Shadervorgang wird synchron ausgeführt, wenn die
Wenn Sie die
Während der Ausführung eines Shadervorgangs wird der Wert des
Wenn die
Um ein ByteArray zu verarbeiten, das ein lineares Daten-Array (im Gegensatz zu Bilddaten) enthält, setzen Sie für die entsprechende ShaderInput-Instanz
Systemchrom bezieht sich auf die betriebssystemspezifischen Elemente eines Fensters, wie die Titelleiste sowie die Schaltflächen zum Minimieren, Maximieren und Schließen.
Hinweis: Der Typ des verwendeten Systemchroms wird bei der Erstellung des Fensters angegeben und kann später nicht mehr geändert werden.
Nicht verwenden.
Mit dieser Einstellung können Sie die Gestaltung des nativen Betriebssystems nachahmen.
In Flash Professional können Sie im Eigenschafteninspektor einer Schaltfläche einen Instanznamen zuweisen. SimpleButton-Instanznamen werden im Film-Explorer und im Dialogfeld „Zielpfad einfügen“ des Bedienfelds „Aktionen“ angezeigt. Nachdem Sie in Flash Professional eine Instanz einer Schaltfläche erstellt haben, können Sie die Methoden und Eigenschaften der SimpleButton-Klasse verwenden, um Schaltflächen mit ActionScript zu bearbeiten.
In ActionScript 3.0 erstellen Sie eine SimpleButton-Instanz mithilfe des Konstruktors
Die SimpleButton-Klasse übernimmt ihre Eigenschaften von der InteractiveObject-Klasse.
Hinweis: Um Mausklicks auf eine Schaltfläche zu verhindern, setzen Sie sowohl die
Sie können die
myBtn1_btn
and myBtn2_btn
. Enter the following ActionScript in Frame 1 of the Timeline:
When the mouse is over and clicks myBtn1_btn
, there is no pointing hand. However, you see the pointing hand when the button is over and clicks myBtn2_btn
.
Sie können die Eigenschaft
Die Bezeichnungen
Bei einem Dreieck, dessen Scheitelpunkte 0, 1 und 2 im Uhrzeigersinn angeordnet sind, hat die Normale einen positiven Wert. Mit anderen Worten: Die Normale zeigt in eine positiven z-Achsenrichtung, vom aktuellen Blickpunkt weg. Wenn der Algorithmus
Bei einem Dreieck, dessen Scheitelpunkte entgegen dem Uhrzeigersinn angeordnet sind, hat die Normale einen negativen Wert. Mit anderen Worten: Die Normale zeigt in einer negativen z-Achsenrichtung, zum aktuellen Blickpunkt hin. Wenn der Algorithmus
Unterstützung von AIR-Profilen: Diese Funktion wird auf allen Desktopbetriebssystemen unterstützt, jedoch nicht auf mobilen Geräten oder Geräten mit AIR für TV. Mit der
Ein Verweis auf die NativeWindow-Instanz wird vom Fensterkonstruktor zurückgegeben. Der Zugriff auf einen Verweis auf eine NativeWindow-Instanz ist auch mit der
var window:NativeWindow = displayObject.stage.nativeWindow;
Der Zugriff auf die Eigenschaften einer NativeWindow-Instanz ist nur nach Anwendungsinhalt möglich. Wenn anwendungsfremder Inhalt versucht, auf ein NativeWindow-Objekt zuzugreifen, wird ein Sicherheitsfehler ausgegeben.
Inhalte können einem Fenster hinzugefügt werden, indem DisplayObjectContainer-Methoden des Stage-Objekts, z. B.
Flex-Komponenten können der Anzeigeliste einer NativeWindow-Instanz nicht direkt hinzugefügt werden. Erstellen Sie Ihre Fenster stattdessen mit den Flex-Komponenten „mx:WindowedApplication“ und „mx:Window“ und fügen Sie ihnen die anderen Flex-Komponenten als untergeordnete Objekte hinzu. Sie können einem NativeWindow-Fenster Flex-basierte SWF-Inhalte direkt hinzufügen, sofern die SWF-Datei Anwendungsinhalt ist und in ihre eigene Anwendungsdomäne geladen wird.
Ein HTML-Stammfenster zur Anzeige von HTML-Inhalt lässt sich meist mit
Die folgenden Vorgänge für NativeWindow-Objekte sind asynchron: Änderungen von
Wenn die
NativeWindow-Objekte werden nicht vom Garbage Collector entfernt, nachdem der Fensterkonstruktor und bevor
Ändern Sie nicht die Größe des Fensters oder seinen Anzeigestatus in der
Ein
Hinweis: Vermeiden Sie Aktionen, die möglicherweise gleichzeitig Betriebssystem-Dialogfelder in den Prozedurfunktionen für die beiden Ereignisse
Hinweis: Vermeiden Sie Aktionen, die möglicherweise gleichzeitig Betriebssystem-Dialogfelder in den Prozedurfunktionen für die beiden Ereignisse
Die im
Die Standardfenstergröße wird vom Betriebssystem bestimmt. Fenster werden in einem nicht sichtbaren Zustand erstellt. Damit Änderungen am Fenster nicht sichtbar werden, ändern Sie nicht die
Die Aktivierung eines Fensters hat folgende Auswirkungen:
Unter Linux ist
Das NativeWindow-Objekt löst auf allen Plattformen ein
Mit einem Verweis auf ein Anzeigeobjekt auf der Fensterbühne:
Ein
Wenn ein Fenster geschlossen wird, werden auch alle Fenster, deren Eigentümer es ist, geschlossen. Das untergeordnete Fenster setzt keine
Wenn auf Anzeigeobjektinstanzen, die sich aktuell im Fenster befinden, nicht anderswo verwiesen wird, werden sie vom Garbagekollektor eingesammelt und zerstört, mit Ausnahme des ursprünglichen mit AIR erstellten Anwendungsfensters. Damit Anzeigeobjekte vom Garbagekollektor aus dem ursprünglichen Fenster entfernt werden können, müssen Sie sie von der Fensterbühne entfernen.
Nach dem Schließen ist das NativeWindow-Objekt zwar immer noch ein gültiger Verweis, aber beim Zugriff auf die meisten Eigenschaften und Methoden wird ein Fehler aufgrund eines ungültigen Vorgangs ausgegeben.
Geschlossene Fenster können nicht erneut geöffnet werden. Wenn das Fenster bereits geschlossen ist, werden keine Aktionen ausgeführt und keine Ereignisse ausgelöst.
Hinweis: Um ein Fenster auszublenden, ohne es zu schließen, stellen Sie seine
Mit einem Verweis auf die NativeWindow-Instanz (
Virtuelle Desktop-Koordinaten sind relativ zur oberen linken Ecke des primären Monitors.
Sie können den Eigentümer von NativeWindows nicht ändern, indem Sie Objekte zum zurückgegebenen Vektor hinzufügen bzw. daraus entfernen. Das Eigentumsverhältnis eines Fensters kann nach dem Erstellen eines Fensters nicht mehr geändert werden.
Ein Aufruf der
Die
Hinweise zum Verhalten des Betriebssystems:
Ein Aufruf von
Die
Alle Fenster, die Eigentum dieses Fensters sind, werden ausgeblendet, wenn es minimiert wird. Die untergeordneten Fenster setzen keine
Hinweise:
Wenn
Der
Visuelle Hinweise, die nur zur Information dienen, werden nur kurz angezeigt. Dagegen werden visuelle Hinweise für kritische Benachrichtigungen so lange angezeigt, bis der Benutzer dieses Fenster aktiviert. Nicht alle Linux-Fenstermanager unterstützen zwei Benachrichtigungsebenen: Bei solchen Fenstermanagern hat
Hinweis:
Weder das Fenster noch die Anwendung wird aktiviert oder erhält den Fokus. Minimierte oder ausgeblendete Fenster (
Ein Fenster, das einem anderen Fenster gehört, kann nicht hinter seinen Eigentümer verschoben werden. Wenn dieses Fenster einen Eigentümer hat, werden der Eigentümer und seine anderen untergeordneten Fenster ebenfalls hinter dem Ziel eingeordnet. Wenn das Zielfenster einen Eigentümer hat, wird dieses Fenster stattdessen hinter den Eigentümer des Fensters verschoben.
Bei manchen Linux-Fenstermanagern können Fenster von Dienstprogrammen nicht hinter normalen Fenstern angeordnet werden.
Weder das Fenster noch die Anwendung wird aktiviert oder erhält den Fokus. Minimierte oder ausgeblendete Fenster (
Ein Fenster kann nicht in den Vordergrund eines Fensters, dessen Eigentümer es ist, verschoben werden. Wenn dieses Fenster einen Eigentümer hat, werden der Eigentümer und dessen andere untergeordnete Fenster ebenfalls im Vordergrund dies Ziels angeordnet. Wenn das Zielfenster einen Eigentümer hat, wird dieses Fenster ebenfalls im Vordergrund aller anderen Fenster, die denselben Eigentümer wie das Ziel haben, angeordnet.
Bei manchen Linux-Fenstermanagern können normale Fenster nicht vor Fenstern von Dienstprogrammen angeordnet werden.
Weder das Fenster noch die Anwendung wird aktiviert oder erhält den Fokus. Minimierte oder ausgeblendete Fenster (
Wenn
Ein Fenster, das einem anderen Fenster gehört, kann nicht hinter seinen Eigentümer verschoben werden. Wenn dieses Fenster einen Eigentümer hat, werden der Eigentümer und dessen andere untergeordnete Fenster ebenfalls am unteren Ende der Anzeigeliste angeordnet. Dieses Fenster muss hinter alle anderen Fenster verschoben werden, die Eigentum desselben Fensters sind. Wenn dieses Fenster Eigentümer von anderen Fenstern ist, werden diese Fenster ebenfalls in ihrer aktuellen relativen Reihenfolge zueinander in den Hintergrund verschoben.
Bei manchen Linux-Fenstermanagern können Fenster von Dienstprogrammen nicht hinter normalen Fenstern angeordnet werden.
Weder das Fenster noch die Anwendung wird aktiviert oder erhält den Fokus. Minimierte oder ausgeblendete Fenster (
Wenn
Ein Fenster kann nicht in den Vordergrund eines Fensters, dessen Eigentümer es ist, verschoben werden. Wenn dieses Fenster Eigentümer von anderen Fenstern ist, werden diese Fenster ebenfalls in ihrer aktuellen relativen Reihenfolge zueinander in den Vordergrund verschoben. Wenn dieses Fenster einen Eigentümer hat, werden der Eigentümer und dessen andere Fenster ebenfalls im Vordergrund des Fensters angeordnet. Dieses Fenster wird vor andere Fenster verschoben, die denselben Eigentümer haben.
Bei manchen Linux-Fenstermanagern können normale Fenster nicht vor Fenstern von Dienstprogrammen angeordnet werden.
Ein Aufruf von
Wenn das Fenster sich bereits im Status
Durch Warten auf das
Beim Aufruf von einem
Beim Aufruf von anderem Code startet diese Methode eine tastatur- oder mausgesteuerte Verschiebesequenz gemäß der Standardsequenz des Betriebssystems.
Bei einer Verschiebesequenz werden mehrere Ereignisse ausgelöst, während der Fensterursprung sich verschiebt. Für jeden Verschiebungsschritt wird zunächst ein
Beim Aufruf von einer
Beim Aufruf von anderem Code startet diese Methode eine tastatur- oder mausgesteuerte Größenänderungssequenz gemäß der Standardsequenz des Betriebssystems.
Bei der Größenänderungssequenz werden mehrere Ereignisse ausgelöst, während die Fensterabmessungen sich ändern. Für jeden Änderungsschritt wird zunächst ein
Verwenden Sie die
Die Tiefenanordnung des Systems lässt sich in zwei Fenstergruppen einteilen. Fenster in der Gruppe
Wird
Die
Hinweise zum Verhalten des Betriebssystems:
Die Abmessungen eines Fensters umfassen auch ggf. vorhandenes Systemchrom. Die Abmessungen der Fensterbühne entsprechen den Fensterabmessungen abzüglich der Größe des ggf. vorhandenen Systemchroms. Wenn die Breite und die Höhe des Fensters geändert werden, ändern sich auch die Eigenschaften
In einem HTML-Stammfenster entsprechen die
Ein
Das Setzen der
Die Reihenfolge, in der die einzelnen Abmessungswerte gesetzt werden, ist nicht garantiert. Bei Linux-Fenstermanagern, die die Vergrößerung von Fenstern über den Desktopbereich hinaus nicht erlauben, kann die Änderung einer einzelnen Eigenschaft blockiert werden, selbst wenn der Gesamteffekt bei Anwendung aller Eigenschaftenänderungen ein gültiges Fenster ergeben hätte.
Wenn die angegebene Breite bzw. Höhe den erlaubten Mindest- oder Höchstwert unter- bzw. überschreitet, wird die Fensterbreite oder -höhe auf den nächsten zulässigen Wert gesetzt. Folgende Faktoren bestimmen die minimale und maximale Breite bzw. Höhe:
Pixelwerte werden auf die nächste Ganzzahl gerundet, wenn die Position oder Größe eines Fensters geändert wird.
Beim Zugriff auf die folgenden Eigenschaften für ein geschlossenes Fenster wird ein Fehler aufgrund eines ungültigen Vorgangs ausgegeben:
Gleichermaßen wird beim Aufrufen der folgenden Methoden für ein geschlossenes Fenster ein Fehler aufgrund eines ungültigen Vorgangs ausgegeben:
Konstanten für die möglichen Werte sind in der NativeWindowDisplayState-Klasse definiert:
Die Abmessungen eines Fensters umfassen auch ggf. angezeigtes Systemfensterchrom. Die Höhe des nutzbaren Anzeigebereichs innerhalb eines Fensters ist über die
Das Ändern der
Wenn die angegebene Höhe den erlaubten Mindest- oder Höchstwert unter- bzw überschreitet, wird die Fensterhöhe auf den nächsten zulässigen Wert gesetzt. Folgende Faktoren bestimmen die minimale und maximale Höhe:
Unter Linux ist das Setzen der
Durch Warten auf das
Pixelwerte werden auf die nächste Ganzzahl gerundet, wenn die Höhe eines Fensters geändert wird.
Der Größengrenzwert wird über die Koordinaten eines Point-Objekts festgelegt. Die
Die
Beim Einstellen von
Wenn die angegebene Breite bzw. Höhe den erlaubten Höchstwert überschreitet, wird die Fensterbreite auf den nächsten zulässigen Wert gesetzt. Folgende Faktoren bestimmen die minimale und maximale Breite bzw. Höhe:
Hinweis: Unter manchen Betriebssystemen, beispielsweise Mac OS X, werden Fenster beim Vergrößern nur auf den
Die
Hinweis: Einige Linux-Fenstermanager lassen das Maximieren von Fenstern durch den Benutzer zu, selbst wenn die
Wenn der
Hinweis: Wenn
Der Größengrenzwert wird über die Koordinaten eines Point-Objekts festgelegt. Die
Beim Einstellen von
Die
Hinweis: Die Breite und Höhe von ggf. angezeigtem Systemchrom können möglicherweise dazu führen, dass ein Fenster nicht auf die angegebene minimale Größe eingestellt werden kann.
Die
Hinweis: Einige Linux-Fenstermanager lassen das Minimieren von Fenstern durch den Benutzer zu, selbst wenn die
Der Eigentümer eines Fensters wird beim Erstellen des Fensters festgelegt und kann nicht geändert werden. Um ein Fenster zu erstellen, das einen Eigentümer hat, legen Sie das NativeWindow-Objekt, das der Eigentümer ist, als
Hinweis: Unter Linux zeigen einige Fenstermanager keine untergeordneten Fenster (Eigentum) im Vordergrund des Eigentümerfensters an, wenn dieses im Vollbildmodus angezeigt wird.
Note: Not all Linux window managers honor the resizable
setting.
Die
Die Bühne bildet den Stamm der Anzeigeliste für das Fenster. Visuelle Anzeigeobjekte können einem Fenster hinzugefügt werden, indem sie der Bühne hinzugefügt werden oder einem anderen Objekt, das sich bereits in der Anzeigeliste dieser Bühne befindet. Die Bühnenabmessungen entsprechen denen des Fensterclientbereichs, wenn Systemchrom für das Fenster verwendet wird. Die Bühnenabmessungen sind mit denen des Fensters identisch, wenn kein Systemchrom verwendet wird.
Wenn
Hinweis: Wenn
Wenn
Hinweis:
Wenn
Hinweis: Der Wert dieser Eigenschaft kann sich aufgrund von Benutzereinstellungen für das Betriebssystem ändern, während die Anwendung ausgeführt wird.
Bei den von
Die Systemchromeinstellung kann nach der Erstellung des Fensters nicht mehr geändert werden.
Der Größengrenzwert wird über die Koordinaten eines Point-Objekts festgelegt. Die
Neben den Größenbeschränkungen des Betriebssystems gilt in AIR eine maximale Fenstergröße von 4095 mal 4095 Pixel (2880 Pixel mal 2880 Pixel in AIR 1.5 und älter). Des Weiteren kann eine Anwendung mithilfe der
Der Größengrenzwert wird über die Koordinaten eines Point-Objekts festgelegt. Die
Der Titel wird im Systemchrom des Fensters eingeblendet, sofern angezeigt, sowie in anderen systemabhängigen Orten (beispielsweise in der Taskleiste).
Die
Hinweis: Die Fenstertransparenz kann nicht in allen Fällen unterstützt werden. Ist aufgrund der Betriebssystemkonfiguration des Benutzers die Transparenz nicht verfügbar, so wird das Fenster ohne Transparenz erstellt. Bereiche, die transparent hätten sein sollen, werden mit Schwarz zusammengesetzt. Verwenden Sie die
Bei den von
Die
Ein unsichtbares Fenster wird nicht auf dem Desktop angezeigt, aber alle Eigenschaften und Methoden des Fensters sind gültig.
Standardmäßig ist
Wenn dieses Fenster einen Eigentümer hat, bestimmt der Sichtbarkeitsstatus des Eigentümerfensters, ob dieses Fenster angezeigt wird. Wenn das Eigentümerfenster nicht angezeigt wird, werden die Fenster, die es besitzt, nicht angezeigt, selbst wenn ihre
Hinweis: Unter Mac OS X hat die Einstellung
Die für ein natives Fenster protokollierten Abmessungen umfassen alle angezeigten Systemfensterchrome. Die Breite des nutzbaren Anzeigebereichs innerhalb eines Fensters ist über die
Das Ändern der
Wenn die angegebene Breite den erlaubten Mindest- oder Höchstwert unter- bzw überschreitet, wird die Fensterbreite auf den nächsten zulässigen Wert gesetzt. Folgende Faktoren bestimmen die minimale und maximale Breite:
Unter Linux ist das Setzen der
Durch Warten auf das
Pixelwerte werden auf die nächste Ganzzahl gerundet, wenn die Breite eines Fensters geändert wird.
Auf Systemen mit mehreren Monitoren kann
Das Ändern der
Unter Linux ist das Setzen der
Durch Warten auf das
Pixelwerte werden auf die nächste Ganzzahl gerundet, wenn die x-Koordinate eines Fensters geändert wird.
Auf Systemen mit mehreren Monitoren kann
Das Ändern der
Unter Linux ist das Setzen der
Durch Warten auf das
Pixelwerte werden auf die nächste Ganzzahl gerundet, wenn die y-Koordinate eines Fensters geändert wird.
Für SWF-Inhalt, der im Browser angezeigt wird (in Flash® Player), repräsentiert die Bühne den gesamten Bereich, in dem der Inhalt angezeigt wird. Für Inhalt, der in AIR unter Desktopbetriebssystemen ausgeführt wird, hat jedes NativeWindow-Objekt ein zugehöriges Stage-Objekt.
Das Stage-Objekt ist nicht global zugänglich. Sie müssen über die
Die Stage-Klasse besitzt mehrere übergeordneten Klassen (DisplayObjectContainer, InteractiveObject, DisplayObject und EventDispatcher), von denen sie Eigenschaften und Methoden übernimmt. Viele dieser Eigenschaften und Methoden lassen sich entweder gar nicht auf Stage-Objekte anwenden oder erfordern eine Sicherheitsüberprüfung, wenn sie für ein Stage-Objekt aufgerufen werden. Die Eigenschaften und Methoden, die eine Sicherheitsüberprüfung benötigen, sind als Teil der Stage-Klasse dokumentiert.
Darüber hinaus sind die folgenden geerbten Eigenschaften auf Stage-Objekte nicht anwendbar. Wenn Sie versuchen, diese Eigenschaften zu setzen, wird ein Fehler vom Typ „IllegalOperationError“ ausgelöst. Diese Eigenschaften werden zwar immer gelesen, doch da sie nicht gesetzt werden können, enthalten sie stets die Standardwerte.
Manche Ereignisse, von denen Sie erwarten würden, dass Sie zur Stage-Klasse gehören, z. B.
Ausrichtungsänderungen können auftreten, wenn der Benutzer das Gerät dreht oder eine Tastatur herausschiebt oder wenn
Hinweis: Wenn die
Wichtig: orientationChanging-Ereignisse werden bei Android-Geräten nicht abgesetzt.
Hinweis: Wenn die
Das folgende Beispiel enthält z. B. drei Anzeigeobjekte mit der Bezeichnung a, b und c jeweils an den Indexpositionen 0, 1 und 2:
Wenn Sie ein Child-Objekt hinzufügen, das bereits einem anderen Anzeigeobjektcontainer untergeordnet worden ist, wird es aus dessen Child-Liste entfernt.
Wenn Sie ein Child-Objekt hinzufügen, das bereits einem anderen Anzeigeobjektcontainer untergeordnet worden ist, wird es aus dessen Child-Liste entfernt.
Hinweis: Der Befehl
Der Name der Funktion ist beliebig.
Funktionen von Mitgliedern auf Klassenebene werden nicht vom Garbagekollektor entfernt. Daher können Sie
Nachdem Sie einen Ereignis-Listener erfolgreich registriert haben, können Sie seine Priorität nicht durch weitere Aufrufe von
Nach der Registrierung des Listeners haben nachfolgende Aufrufe von
Sie können einen Ereignis-Listener nicht nur für die Ziel- oder Bubbling-Phase registrieren. Die beiden Phasen hängen während der Registrierung immer zusammen, da Bubbling nur für übergeordnete Elemente des Zielknotens gilt.
Wenn Sie einen Ereignis-Listener nicht mehr brauchen, entfernen sie ihn, indem Sie
Beim Kopieren einer EventDispatcher-Instanz werden zugewiesene Ereignis-Listener nicht kopiert. (Wenn ein neu angelegter Knoten einen Ereignis-Listener benötigt, müssen Sie den Listener nach dem Erstellen des Knotens zuweisen.) Wenn Sie jedoch eine EventDispatcher-Instanz verschieben, werden zugewiesene Ereignis-Listener ebenfalls verschoben.
Wenn der Ereignis-Listener bei einem Knoten registriert wird, während mit diesem Knoten ein Ereignis durchgeführt wird, so wird der Ereignis-Listener während der aktuellen Phase nicht ausgelöst, kann aber während einer späteren Phase im Ereignisablauf ausgelöst werden, etwa während der Bubbling-Phase.
Wird ein Ereignis-Listener von einem Knoten entfernt, während mit dem Knoten ein Ereignis durchgeführt wird, so wird er von den aktuellen Aktionen immer noch ausgelöst. Nachdem er entfernt worden ist, wird der Ereignis-Listener nicht wieder aufgerufen (es sei denn er wird für spätere Verarbeitungsvorgänge erneut aufgerufen).
Das Konzept der Fokusrichtung muss von der Anwendung (oder vom Anwendungsframework) definiert werden. Es existiert keine inhärente Funktionalität zum Sortieren des Fokus von interaktiven Objekten, Sie können jedoch über andere verfügbare Eigenschaften ein Anordnungsprinzip definieren. Beispielsweise können Sie interaktive Objekte nach ihren Positionen auf der Bühne oder in der Anzeigeliste sortieren. Ein Aufruf von
Das
Wenn Sie das HTMLLoader-Objekt dem
Der Unterschied zwischen
Wird
Das
Das
Der Garbage Collector weist nicht verwendete Speicherkapazität neu zu. Wenn auf Variablen oder Objekte nicht mehr aktiv verwiesen wird und diese auch nirgends mehr gespeichert sind, werden sie vom Garbagekollektor entfernt, und der belegte Arbeitsspeicher wird bereinigt.
Wenn sich die Bühnenausrichtung in Folge des Methodenaufrufs ändert, setzt das Stage-Objekt ein orientationChange-Ereignis ab.
Um festzustellen, welche Geräteausrichtung unterstützt wird, überprüfen Sie den Wert der
Unterstützung von AIR-Profilen: Diese Funktion wird auf mobilen Geräten unterstützt, nicht jedoch auf Desktopbetriebssystemen oder Geräten mit AIR für TV. Mit der
Wenn Sie die
Dieser Code führt zur folgenden Objektanordnung:
Legt den
Stellen Sie den Parameter nicht auf
Um festzustellen, ob das Ändern der Geräteausrichtung unterstützt wird, überprüfen Sie den Wert der
Das Festlegen der Ausrichtung ist ein asynchroner Vorgang. Es ist nicht garantiert, dass der Vorgang sofort nach dem Aufrufen der
Wichtig: Die
Der Unterschied zwischen der
Wird
Die Eigenschaft
trace(Stage.allowsFullsreen);
Der Anfangswert dieser Eigenschaft wird vom
Unterstützung von AIR-Profilen: Diese Funktion wird auf mobilen Geräten unterstützt, nicht jedoch auf Desktopbetriebssystemen oder Geräten mit AIR für TV. Mit der
Die drei möglichen Werte sind Strings mit entsprechenden Konstanten in der flash.display.ColorCorrectionSupport-Klasse:
Verwenden Sie die
Allgemein gesagt sind die Vorteile des Farbmanagements folgende: berechenbare und konsistente Farbe, bessere Konvertierung, genaueres Proofing und effizientere Ausgabe über mehrere Medien hinweg. Beachten Sie jedoch, dass das Farbmanagement keine perfekten Konvertierungen leisten kann, da Geräte oder Ausgangsbilder einen unterschiedlichen Farbumfang haben. Weiterhin ist trotz Farbmanagement das Einrichten benutzerdefinierter oder bearbeiteter Profile nötig. Farbprofile sind abhängig von Browsern, Betriebssystemen (OS), Betriebssystemerweiterungen, Ausgabegeräten und dem Anwendungssupport.
Die Anwendung von Farbkorrektur beeinträchtigt die Leistung der Flash-Laufzeitumgebung. Die Farbkorrektur einer Flash-Laufzeitumgebung ist eine Farbkorrektur im Dokumentstil, da alle SWF-Filme als Dokumente mit impliziten sRGB-Profilen betrachtet werden. Verwenden Sie die
Die drei möglichen Werte sind Strings mit entsprechenden Konstanten in der flash.display.ColorCorrection-Klasse:
Bei Geräten mit herausschiebbarer Tastatur hat der Zustand der Tastatur eine höhere Priorität beim Bestimmen der Geräteausrichtung als die vom Beschleunigungssensor erkannte Ausrichtung. Bei einem hochformatigen Gerät mit seitlich angebrachter Tastatur meldet die
Verwenden Sie die in der StageOrientation-Klasse definierten Konstanten, wenn Sie Werte für diese Eigenschaft festlegen oder vergleichen.
Unterstützung von AIR-Profilen: Diese Funktion wird auf mobilen Geräten unterstützt, nicht jedoch auf Desktopbetriebssystemen oder Geräten mit AIR für TV. Mit der
Das Skalierverhalten des Films im Vollbildmodus wird durch die
Die folgenden Einschränkungen gelten für SWF-Dateien, die innerhalb einer HTML-Seite wiedergegeben werden (nicht für SWF-Dateien, die den eigenständigen Flash Player verwenden oder die in der AIR-Laufzeitumgebung ausgeführt werden):
Auf einer HTML-Seite können die Tags zum Einbetten von SWF auch mithilfe eines Skripts erzeugt werden. Sie müssen das Skript ändern, damit die richtigen
Im Film wird ein Dialogfeld der Flash-Laufzeitumgebung angezeigt, wenn Benutzer den Vollbildmodus aktivieren, um Benutzer darüber zu informieren und darauf hinzuweisen, dass der Vollbildmodus durch Drücken der Esc-Taste beendet werden kann.
Diese Einschränkungen gelten nicht für SWF-Inhalt, der im eigenständigen Flash Player oder in AIR ausgeführt wird. AIR unterstützt einen interaktiven Vollbildmodus, der Tastatureingaben zulässt.
Für
Unter Linux ist das Setzen von
Hinweis: Aufgrund von Sicherheitsbeschränkungen kann der Vollbildmodus nur in bestimmten Situationen ausgelöst werden, z. B. wenn Benutzer auf die entsprechende Option klicken oder eine Taste drücken. Wenn die allowFullScreen-Eigenschaft in einem Browser ausgeführt wird, muss sie auf „true“ gesetzt sein.
Hinweis: Eine hohe Bildrate kann von einer Anwendung möglicherweise nicht eingehalten werden, entweder weil die Zielplattform nicht schnell genug ist oder weil der Player mit der vertikalen Austastlücke des Anzeigegeräts (in der Regel 60 Hz auf LCD-Geräten) synchronisiert ist. In manchen Fällen ist es auch möglich, dass die Zielplattform die maximale Bildrate herabsetzt, wenn eine hohe CPU-Auslastung erwartet wird.
Bei Inhalt, der in Adobe AIR ausgeführt wird, gilt Folgendes: Wenn die
Hinweis: Falls der Benutzer die Möglichkeit hat, zwischen dem Abrufen des Wertes und dem Wechseln in den Vollbildmodus den Browser von einem Monitor zu einem anderen zu verschieben, könnte der Wert inkorrekt sein. Wenn Sie den Wert in eine Ereignisprozedur abrufen, die
Dies ist die Höhe des Monitors in Pixel; dieser Wert ist identisch mit der Höhe der Bühne, wenn
Hinweis: Testen Sie dieses Beispiel im Browser. Wählen Sie auf der Registerkarte „HTML“ des Dialogfelds „Einstellungen für Veröffentlichungen“ die Vorlage „Nur Flash - Vollbild zulassen“. Geben Sie 9.0.115.0 bei der Flash Player-Version an und achten Sie darauf, dass auf der Registerkarte „Format“ die Formate „Flash“ und „HTML“ ausgewählt sind. Die resultierende HTML-Datei lässt sich im Browser veröffentlichen und öffnen.
Wenn diese Eigenschaft auf ein gültiges Rechteck und die Eigenschaft
Diese Eigenschaft kann nur festgelegt werden, wenn sich die Flash-Laufzeitumgebung nicht im Vollbildmodus befindet. Um diese Eigenschaft richtig zu verwenden, legen Sie sie zuerst fest und setzen Sie dann die Eigenschaft
Um die Skalierung zu aktivieren, legen Sie die Eigenschaft
Um die Skalierung zu deaktivieren, legen Sie in ActionScript 3.0
Der Endbenutzer kann die Hardwareskalierung, die standardmäßig aktiviert ist, in den Flash Player-Anzeigeeinstellungen auch deaktivieren. Weitere Informationen finden Sie unter
Damit der Vollbildmodus mit Hardwarebeschleunigung verwendet werden kann, müssen folgende Bedingungen erfüllt sein:
Eine FLV-Datei wird mit den Objekten NetConnection und NetStream geladen. Da sich die FLV-Datei im selben Ordner wie die SWF-Datei befindet und die Verbindung über HTTP hergestellt wird, wird der Parameter der
Wenn auf die Eigenschaften und Methoden einer geladenen SWF-Datei zugegriffen werden kann, wird die
Hinweis: Falls der Benutzer die Möglichkeit hat, zwischen dem Abrufen des Wertes und dem Wechseln in den Vollbildmodus den Browser von einem Monitor zu einem anderen zu verschieben, könnte der Wert inkorrekt sein. Wenn Sie den Wert in eine Ereignisprozedur abrufen, die
Dies ist die Breite des Monitors in Pixel; dieser Wert ist identisch mit der Breite der Bühne, wenn
Hinweis: Testen Sie dieses Beispiel im Browser. Wählen Sie auf der Registerkarte „HTML“ des Dialogfelds „Einstellungen für Veröffentlichungen“ die Vorlage „Nur Flash - Vollbild zulassen“. Geben Sie 9.0.115.0 bei der Flash Player-Version an und achten Sie darauf, dass auf der Registerkarte „Format“ die Formate „Flash“ und „HTML“ ausgewählt sind. Die resultierende HTML-Datei lässt sich im Browser veröffentlichen und öffnen.
Abgesehen von TextField- und Video-Objekten, hat ein Anzeigeobjekt ohne Inhalt (z. B. ein leeres Sprite) eine Höhe von 0, selbst wenn Sie versuchen,
Diese Eigenschaft ist praktisch, wenn Sie eine Schaltfläche mit einer Instanz der Sprite-Klasse (anstelle der SimpleButton-Klasse) erstellen. Wenn Sie zum Erstellen einer Schaltfläche eine Sprite-Instanz verwenden, können Sie die Schaltfläche ausrüsten und mithilfe der
Durch das Festlegen dieser Eigenschaft wird kein Ereignis ausgelöst. Um interaktive Funktionalität zu erzielen, müssen Sie die
Das Fenster repräsentiert das Fenster des nativen Betriebssystems; die Bühne repräsentiert den Inhalt des Fensters. Diese Eigenschaft ist nur gültig für Inhalt, der auf Plattformen, die die NativeWindow-Klasse unterstützen, in AIR ausgeführt wird. Bei anderen Plattformen ist diese Eigenschaft
Um die Bühnenausrichtung festzulegen, verwenden Sie die
Wichtig: Die orientation-Eigenschaft wird auf Android-Geräten ab 2.6-Namespace unterstützt.
Bei höheren Qualitätseinstellungen werden skalierte Bitmaps besser dargestellt. Höhere Qualitätseinstellungen beanspruchen jedoch auch mehr Computerressourcen. Besonders bei der Wiedergabe von skaliertem Video kann eine hohe Qualitätseinstellung die Bildrate verringern.
Im Desktop-Profil von Adobe AIR kann t
Bei Inhalt, der in Adobe AIR ausgeführt wird, gilt Folgendes: Wenn die
Wenn die
Der Bereich hat eine Größe von null (0,0,0,0), wenn die virtuelle Tastatur nicht sichtbar ist.
Wenn die Tastatur geöffnet wird, wird
Hinweis: Unter Android wird der von der Tastatur verdeckte Bereich geschätzt, wenn das Betriebssystem nicht die erforderlichen Informationen zur genauen Bestimmung des Bereichs bereitstellt. Dieses Problem tritt im Vollbildmodus auf und auch, wenn die Tastatur als Antwort auf die Fokusübergabe an eine InteractiveObject-Instanz oder durch Aufrufen der
Wenn der Wert der
Geräte mit AIR für TV verhalten sich anders als Desktopgeräte, wenn Sie die
Hinweis: Auf einer HTML-Seite, die die SWF-Datei enthält, muss für die beiden Tags
Sie können jeweils nur eine begrenzte Anzahl von StageVideo-Objekten verwenden. Wenn die Ausführung einer SWF-Datei beginnt, richtet sich die Anzahl der verfügbaren StageVideo-Objekte nach der Plattform und der verfügbaren Hardware.
Um ein StageVideo-Objekt zu verwenden, weisen Sie ein Mitglied des
Alle StageVideo-Objekte werden auf der Bühne hinter allen Anzeigeobjekten angezeigt. Die StageVideo-Objekte werden auf der Bühne in der Reihenfolge angezeigt, in der sie im
Mit der
Hinweis: Geräte mit AIR für TV unterstützen nur ein StageVideo-Objekt.
Wenn der Wert der
Geräte mit AIR für TV verhalten sich anders als Desktopgeräte, wenn Sie die
Hinweis: Auf einer HTML-Seite, die die SWF-Datei enthält, muss für die beiden Tags
Sie können die in dieser Liste enthaltenen orientation-Strings als Parameters für die
Die möglichen Ausrichtungen sind:
Hinweis: Verwenden Sie die
Abgesehen von TextField- und Video-Objekten, hat ein Anzeigeobjekt ohne Inhalt (z. B. ein leeres Sprite) eine Breite von 0, selbst wenn Sie versuchen,
Insbesondere die
Anders ausgedrückt identifiziert die
Die
Für Flash Player, der in einem Browser ausgeführt wird, kann GPU-Compositing durch den Wert
Die
Hinweis: Diese Eigenschaft hat immer den Wert
Die in den Initialisierungsoptionen definierten Eigenschaften können nach der Erstellung eines Fensters nicht mehr geändert werden.
Hinweis: Für das von AIR automatisch erstellte erste Anwendungsfenster sind alle diese Eigenschaften (mit Ausnahme von
Die Standardwerte des neu erstellten Objekts lauten:
Bei Fenstern mit Systemchrom beeinflusst diese Einstellung die Darstellung der Maximierungsschaltfläche des Fensters. Sie beeinflusst zudem andere Teile der systemverwalteten Benutzeroberfläche, wie das Fenster-Menü unter Microsoft Windows.
Wenn diese Eigenschaft auf
Hinweise zum Verhalten des Betriebssystems:
Bei Fenstern mit Systemchrom beeinflusst diese Einstellung die Darstellung der Minimierungsschaltfläche des Fensters. Sie beeinflusst zudem andere Teile der systemverwalteten Benutzeroberfläche, wie das Fenster-Menü unter Microsoft Windows.
Wenn diese Eigenschaft auf
Hinweis: Einige Linux-Fenstermanager lassen das Minimieren von Fenstern durch den Benutzer zu, selbst wenn die
Wenn ein Fenster einen Eigentümer hat, wird dieses Fenster immer vor seinem Eigentümer angezeigt und wird zusammen mit seinem Eigentümer minimiert, ausgeblendet und geschlossen.
Wenn diese Eigenschaft auf
Hinweise zum Verhalten des Betriebssystems:
Chrom bezieht sich auf die Fenstersteuerungen, über die der Benutzer die Desktop-Eigenschaften eines Fensters steuern kann. Das Systemchrom verwendet die Standardsteuerungen der Desktop-Umgebung, in der die AIR-Anwendung ausgeführt wird, und entspricht der standardmäßigen Gestaltung des nativen Betriebssystems.
Um von einem Framework (wie Flex) bereitgestelltes Chrom zu verwenden oder um eigenes Fensterchrom anzugeben, stellen Sie
Konstanten für die gültigen Werte dieser Eigenschaft sind in der NativeWindowSystemChrome-Klasse definiert:
Wird keine Angabe gemacht, gilt für
Bei Fenstern mit Systemchrom kann die
Bei der Einstellung
Bei Fenstern mit Systemchrom kann die
Hinweis: Nicht alle Linux-Fenstermanager unterstützen Transparenz. Auf diesen Systemen werden transparente Bereiche eines Fensters mit Schwarz erstellt.
Konstanten für die gültigen Werte dieser Eigenschaft sind in der NativeWindowType-Klasse definiert:
Wenn kein Wert angegeben wird, hat
Auf eine ShaderParameter-Instanz, die einen Parameter für eine Shader-Instanz darstellt, wird als Eigenschaft der
Zusätzlich zu den definierten Eigenschaften der ShaderParameter-Klasse hat jede ShaderParameter-Instanz weitere Eigenschaften, die den für den Parameter festgelegten Metadaten entsprechen. Diese Eigenschaften werden dem ShaderParameter-Objekt bei der Erstellung hinzugefügt. Die Namen der Eigenschaften stimmen mit den im Shaderquellcode festgelegten Metadatennamen überein. Der Datentyp der Eigenschaft hängt vom Datentyp der jeweils entsprechenden Metadaten ab. Ein Textmetadatenwert wie etwa „description“ ist eine String-Instanz. Eine Metadateneigenschaft mit einem Wert, der kein String ist (wie z. B.
Gehen Sie etwa von einem Shader mit den folgenden beiden Parameterdeklarationen aus:
Die dem
Der dem
Im Allgemeinen wird eine ShaderParameter-Instanz nicht direkt durch Entwicklercode erstellt. Bei der Erstellung der Shader-Instanz wird für jeden Shaderparameter eine ShaderParameter-Instanz erstellt.
Die folgende Tabelle zeigt den Parametertyp und die zugehörige Anzahl sowie den zugehörigen Datentyp der Elemente im
Bei den Matrixparametertypen füllen die Arrayelemente zuerst die Zeilen der Matrix, dann die Spalten aus. Angenommen, mit der folgenden Zeile ActionScript-Code soll ein
Im Shader haben die Matrixelemente die folgenden Werte:
Angenommen, Sie haben einen einfachen linearen Farbverlauf zwischen zwei Farben (wobei der Parameter
Sie haben zwei Möglichkeiten, LoaderInfo-Objekte zu laden:
Die
Wenn Sie ein Loader-Objekt zum Laden eines Anzeigeobjekts (z. B. einer SWF-Datei oder Bitmap) verwenden, ist die
Das folgende Diagramm zeigt die verschiedenen Einsatzmöglichkeiten des LoaderInfo-Objekts, und zwar für die Instanz der Hauptklasse der SWF-Datei, für die
Ist ein Ladevorgang noch nicht abgeschlossen, sind einige Eigenschaften der
Hinweis: Alle Eigenschaften der LoaderInfo-Objekte sind schreibgeschützt.
Die
Wichtig: Zur Ausführung dieses Beispiels müssen Sie eine Datei mit dem Namen „Image.gif“ in dem Ordner ablegen, in dem sich auch die kompilierte SWF-Datei befindet. Verwenden Sie ein Bild mit einem Bereich, der in die Abmessungen der SWF-Hauptdatei passt.
Zum Beispiel wird ein
Das Ereignis
Hinweis: Diese Eigenschaft besitzt immer entweder den Wert
Der gesamte Code in einer SWF-Datei ist so definiert, dass er sich in einer Anwendungsdomäne befindet. Die aktuelle Anwendungsdomäne ist die Domäne, in der die Hauptanwendung ausgeführt wird. Die Systemdomäne enthält alle Anwendungsdomänen, einschließlich der aktuellen Domäne, und alle Klassen, die von Flash Player oder Adobe AIR verwendet werden.
Mit Ausnahme der Systemdomäne sind alle Anwendungsdomänen mit einer übergeordneten Domäne verknüpft. Die Systemdomäne ist die übergeordnete Domäne der
Beispiele für die Verwendung von Anwendungsdomänen finden Sie im ActionScript 3.0 Entwicklerhandbuch im Kapitel „Clientsystem-Umgebung“.
Bevor das erste
Weitere Informationen zum Thema Sicherheit finden Sie im Flash Player Developer Center im Abschnitt
Weitere Informationen zum Thema Sicherheit finden Sie im Flash Player Developer Center im Abschnitt
Weitere Informationen zum Thema Sicherheit finden Sie im Flash Player Developer Center im Abschnitt
Dieser Wert kann von der tatsächlich verwendeten Bildrate abweichen. Flash Player oder Adobe AIR verwendet zu einem bestimmten Zeitpunkt immer nur eine einzige Bildrate für alle geladenen SWF-Dateien. Diese Bildrate wird von der nominellen Bildrate der Haupt-SWF-Datei bestimmt. Die Hauptbildrate kann möglicherweise nicht erreicht werden, je nach Hardware, Tonsynchronisierung und anderen Faktoren.
Hinweis: Die
Für Anwendungsinhalte in AIR ist der Wert dieser Eigenschaft immer
Weitere Informationen zum Thema Sicherheit finden Sie im Flash Player Developer Center im Abschnitt
Sie können eine
Die beiden Quellen für die Parameter sind: der Abfragestring in der URL der Haupt-SWF-Datei und der Wert des
Die
Der Wert der Eigenschaft
Weitere Informationen zum Thema Sicherheit finden Sie im Flash Player Developer Center im Abschnitt
Diese Eigenschaft wird erstellt, wenn die mit diesem LoaderInfo-Objekt verknüpfte SWF-Datei vollständig geladen wurde. Bis dahin hat die
Im Konstruktor registriert der Code einen Listener für das
In der
Bevor das erste
In einigen Fällen ist der Wert der
Mit dieser Klasse können Sie Bitmap-Wiedergabeoperationen von den internen Anzeigeaktualisierungsroutinen von Flash Player trennen. Mit einer unmittelbaren Bearbeitung der BitmapData-Objekte können Sie komplexe Bilder erstellen, ohne bei jedem Bild den Aufwand für die ständig erneuerte Darstellung der Vektordaten berücksichtigen zu müssen.
Die Methoden der BitmapData-Klasse unterstützen Effekte, die über die Filter für Nicht-Bitmap-Anzeigeobjekte nicht verfügbar sind.
Ein BitmapData-Objekt enthält eine ganze Reihe von Pixeldaten. Diese Daten repräsentieren entweder eine vollständig transparente oder eine vollständig undurchsichtige Bitmap mit Alphakanaldaten. Jeder BitmapData-Objekttyp wird als Puffer mit 32-Bit-Ganzzahlen gespeichert. Dabei bestimmt jede 32-Bit-Ganzzahl die Eigenschaften eines Pixels in der Bitmap.
Bei diesen Zahlen handelt es sich um eine Kombination von vier 8-Bit-Kanalwerten zwischen 0 und 255, mit denen die Alphatransparenz sowie die Werte für Rot, Grün und Blau (ARGB) des Pixels bezeichnet werden. (Für ARGB-Werte repräsentiert das höchstwertige Byte den Alphakanalwert, gefolgt von Rot, Grün und Blau.)
Die vier Kanäle (Alpha, Rot, Grün und Blau) werden durch Zahlen repräsentiert, wenn Sie sie mit der
Sie können BitmapData-Objekte mit einem Bitmap-Objekt verbinden, indem Sie die
Sie können ein BitmapData-Objekt verwenden, um ein Graphics-Objekt zu füllen, indem Sie die
In der AIR-Laufzeitumgebung umfassen die DockIcon-, Icon-, InteractiveIcon- und SystemTrayIcon-Klassen eine
In AIR 1.5 und Flash Player 10 beträgt die maximale Höhe oder Breite eines BitmapData-Objekts 8.191 Pixel, die gesamte Pixelzahl darf 16.777.215 nicht übersteigen. (Wenn ein BitmapData-Objekt also 8.191 Pixel breit ist, darf es nur 2.048 Pixel hoch sein.) In Flash Player 9 und niedriger und AIR 1.1 und niedriger liegt die Grenze bei je 2.880 Pixel Höhe und Breite.
Aufrufe von Methoden oder Eigenschaften eines BitmapData-Objekts lösen einen ArgumentError-Fehler aus, wenn das BitmapData-Objekt ungültig ist (wenn z. B.
Hinweise:
In der Standardeinstellung wird die Bitmap als transparente Grafik erstellt, es sei denn, Sie übergeben für den Parameter
In AIR 1.5 und Flash Player 10 beträgt die maximale Höhe oder Breite eines BitmapData-Objekts 8.191 Pixel, die gesamte Pixelzahl darf 16.777.215 nicht übersteigen. (Wenn ein BitmapData-Objekt also 8.191 Pixel breit ist, darf es nur 2.048 Pixel hoch sein.) In Flash Player 9 und niedriger und AIR 1.1 und niedriger liegt die Grenze bei je 2.880 Pixel Höhe und Breite. Falls Sie für „width“ oder „height“ höhere Werte als 2.880 angeben, wird keine neue Instanz erstellt.
Diese Methode greift auf das Verhalten integrierter filter-Objekte zurück, mit deren Code das Zielrechteck bestimmt werden kann, das durch ein Eingabequellrechteck geändert wird.
Nach dem Anwenden des Filters ist das Ergebnis unter Umständen größer als das Ausgangsbild. Wenn beispielsweise ein Eingabequellrechteck mit den Werten (50,50,100,100) und dem Zielpunkt (10,10) mithilfe einer BlurFilter-Klasse weichgezeichnet wird, wird der geänderte Bereich im Zielbild wegen der Weichzeichnung größer als (10,10,60,60). Dies geschieht intern während des Aufrufs von
Wenn der Parameter
Wenn es sich bei dem BitmapData-Objekt und dem als
Betrachten Sie beispielsweise die folgenden beiden BitmapData-Objekte:
Hinweis: Die zum Füllen der beiden BitmapData-Objekte verwendeten Farben haben leicht abweichende RGB-Werte (0xFF0000 und 0xFFAA00). Das Ergebnis der
Betrachten Sie die folgenden beiden BitmapData-Objekte, in denen die RGB-Farben gleich sind, der Alphawert aber unterschiedlich ist:
Das Ergebnis der
Sind die beiden BitmapData-Objekte gleich (mit derselben Breite, Höhe und identischen Pixelwerten), gibt die Methode die Zahl 0 zurück.
Wenn die Breiten der BitmapData-Objekte ungleich sind, gibt die Methode die Zahl -3 zurück.
Ist die Höhe der beiden BitmapData-Objekte nicht gleich, dafür jedoch die Breite, gibt die Methode die Zahl -4 zurück.
Das folgende Beispiel vergleicht zwei Bitmap-Objekte mit unterschiedlicher Breite (50 und 60):
Die Einstellungen für den Quell- und Zielkanal können einen der folgenden Werte annehmen:
Wenn Sie auch die Parameter
Die
Wenn die
Das Zeichnen einer Bitmap dauert länger, wenn
Diese Methode entspricht der Einstellung des Zeichnungsverfahrens mithilfe des Standardvektorrenderers für Objekte in der Authoring-Umgebung.
Das Quellanzeigeobjekt verwendet bei diesem Aufruf keines seiner angewendeten Transformationsverfahren. Es wird so verarbeitet, wie es in der Bibliothek oder Datei vorliegt. Dabei werden keine Matrix- oder Farbtransformationen durchgeführt und keine Mischmodi verwendet. Wenn Sie beim Zeichnen des Anzeigeobjekts (etwa eines Movieclips) seine eigenen Transformationseigenschaften verwenden möchten, können Sie das entsprechende
Diese Methode wird in
Wenn das source-Objekt und (bei einem Sprite- oder MovieClip-Objekt) alle seine untergeordneten Objekte nicht aus derselben Domäne wie der Aufrufer stammen oder sich nicht in Inhalt befinden, auf den der Aufrufer über einen Aufruf der
Es gibt auch Beschränkungen für die Verwendung eines geladenen Bitmapbilds als
Unter Windows kann die
Die
So bezieht sich ein Weichzeichnungsfilter normalerweise auf einen Bereich, der größer als das ursprüngliche Bild ist. Ein 100 x 200 Pixel großes Bild, das mit einer normalen BlurFilter-Instanz mit dem Wert
Einige Filter schneiden das Zielrechteck entsprechend der Größe des Zielbilds aus. So wird beispielsweise bei einem inneren
Wenn Sie beispielsweise mit einem Quellbild arbeiten und das Rechteck des Bilds bestimmen möchten, das Alphakanaldaten ungleich 0 (null) enthält, übergeben Sie
Sämtliche Pixel eines BitmapData-Objekts werden als vormultiplizierte Farbwerte gespeichert. Bei diesen vormultiplizierten Bildpixeln sind die Farbkanalwerte für Rot, Grün und Blau bereits mit den Alphadaten multipliziert worden. Wenn also beispielsweise der Alphawert 0 (null) ist, lauten die Werte der RGB-Kanäle, unabhängig von ihren ursprünglichen Werten, ebenfalls 0 (null). Bei bestimmten Vorgängen kann dieser Datenverlust zu Problemen führen. Alle BitmapData-Methoden akzeptieren nicht multiplizierte Werte und geben diese auch zurück. Vor der Rückgabe der Werte wird die interne Pixeldarstellung von vormultipliziert in nicht multipliziert konvertiert. Vor dem Einstellen der Pixelrohdaten des Bilds wird der Pixelwert im Verlauf einer set-Operation vormultipliziert.
Sämtliche Pixel eines BitmapData-Objekts werden als vormultiplizierte Farbwerte gespeichert. Bei diesen vormultiplizierten Bildpixeln sind die Farbkanalwerte für Rot, Grün und Blau bereits mit den Alphadaten multipliziert worden. Wenn also beispielsweise der Alphawert 0 (null) ist, lauten die Werte der RGB-Kanäle, unabhängig von ihren ursprünglichen Werten, ebenfalls 0 (null). Bei bestimmten Vorgängen kann dieser Datenverlust zu Problemen führen. Alle BitmapData-Methoden akzeptieren nicht multiplizierte Werte und geben diese auch zurück. Vor der Rückgabe der Werte wird die interne Pixeldarstellung von vormultipliziert in nicht multipliziert konvertiert. Vor dem Einstellen der Pixelrohdaten des Bilds wird der Pixelwert im Verlauf einer set-Operation vormultipliziert.
Handelt es sich bei einem Bild um ein undurchsichtiges Bild, wird es bei dieser Methode als vollständig undurchsichtiges Rechteck betrachtet. Beide Bilder müssen transparent sein, damit eine Kollisionserkennung auf Pixelebene durchgeführt werden kann, bei der die Transparenz berücksichtigt wird. Wenn Sie zwei transparente Bilder testen, steuern die Parameter für die Alphaschwellen, welche Alphakanalwerte zwischen 0 und 255 als undurchsichtig betrachtet werden.
Die Werte
Flash-Laufzeitumgebungen verwenden die folgenden Schritte, um das resultierende Bild zu erzeugen:
Mit dieser Methode können auch kanalübergreifende Effekte unterstützt werden. Jedes Eingabe-Array kann dabei vollständige 32-Bit-Werte enthalten, und beim Addieren der Werte treten keine Verschiebungen auf. Allerdings unterstützt diese Routine keine Festsetzung pro Kanal.
Wird für einen Kanal kein Array angegeben, wird der Farbkanal vom Quellbild in das Zielbild kopiert.
Diese Methode kann für eine ganze Reihe von Effekten genutzt werden, wie zum Beispiel eine allgemeine Palettenzuordnung (Auswählen einzelner Kanäle und deren Umwandlung in ein Falschfarbenbild). Sie können diese Methode auch für eine Reihe von komplexen Farbänderungsalgorithmen verwenden, z. B. Gamma, Kurven, Ebenen und Quantisierung.
Der Perlin-Störungsalgorithmus interpoliert und kombiniert mehrere zufällige als Oktaven bezeichnete Störungsfunktionen in einer Funktion, die natürlicher wirkende Zufallsstörungen erzeugt. Genau wie in der Musik weist auch hier jede Oktavenfunktion die doppelte Frequenz der jeweils untergeordneten Oktave auf. Die Perlin-Störungen werden als „Fraktalsumme der Störungen“ bezeichnet, da sie mehrere Arten von Störungsdaten unterschiedlicher Detailstufen zusammenfassen.
Durch Anwendung von Perlin-Störungsfunktionen können Naturphänomene und Landschaften simuliert werden, wie Holzmaserung, Wolken oder Bergketten. Zumeist werden die Ergebnisse einer Perlin-Störungsfunktion nicht direkt angezeigt, sondern dienen zur Optimierung anderer Bilder sowie zum Erzeugen von pseudo-zufälligen Variationen.
Einfache digital-zufällige Störungsfunktionen produzieren häufig Bilder mit scharfen Kontrasten, die in der Natur aber nicht allzu häufig vorkommen. Der Perlin-Störungsalgorithmus arbeitet mit einer Überlagerung von mehreren Störungsfunktionen mit unterschiedlicher Detailstufe und erzielt damit glattere Werteänderungen bei benachbarten Pixeln.
Stimmen Quell- und Zielbild nicht überein, werden die Pixel vom Quellbild mit all ihren Eigenschaften in das Zielbild kopiert. Dieser Vorgang ermöglicht das Anfüllen mit Pixeln von einem leeren Bild zu einem vollständig ausgefüllten Bild.
Falls das Quell- und das Zielbild identisch sind, werden die Pixel mit dem Parameter
Sämtliche Pixel eines BitmapData-Objekts werden als vormultiplizierte Farbwerte gespeichert. Bei diesen vormultiplizierten Bildpixeln sind die Farbkanalwerte für Rot, Grün und Blau bereits mit den Alphadaten multipliziert worden. Wenn also beispielsweise der Alphawert 0 (null) ist, lauten die Werte der RGB-Kanäle, unabhängig von ihren ursprünglichen Werten, ebenfalls 0 (null). Bei bestimmten Vorgängen kann dieser Datenverlust zu Problemen führen. Alle BitmapData-Methoden akzeptieren nicht multiplizierte Werte und geben diese auch zurück. Vor der Rückgabe der Werte wird die interne Pixeldarstellung von vormultipliziert in nicht multipliziert konvertiert. Vor dem Einstellen der Pixelrohdaten des Bilds wird der Pixelwert im Verlauf einer set-Operation vormultipliziert.
Hinweis: Um die Performance zu verbessern, wenn Sie die Methode
Hinweis: Um die Performance zu verbessern, wenn Sie die Methode
Die Testlogik der
Der Parameter
Es gibt verschiedene Einschränkungen für eine von einer AVM2-SWF-Datei geladene AVM1-SWF-Datei:
Auf eine ShaderInput-Instanz, die ein Eingabebild für eine Shader-Instanz darstellt, wird als Eigenschaft der
Bei manchen Verwendungen einer Shader-Instanz müssen Sie kein Eingabebild festlegen, weil es durch den Vorgang automatisch festgelegt wird. Sie müssen nur dann eine Eingabe festlegen, wenn der Shader wie folgt wird:
Wenn der Shader bei der Ausführung eine ShaderJob-Instanz zur Verarbeitung eines ByteArrays verwendet, das eine lineare Anordnung von Daten enthält, setzen Sie
Im Allgemeinen wird eine ShaderParameter-Instanz nicht direkt durch Entwicklercode erstellt. Bei der Erstellung der Shader-Instanz wird für jede Shadereingabe eine ShaderInput-Instanz erstellt.
Wenn der
Wenn der
Ein Shader definiert eine Funktion, die für alle Pixel in einem Bild ausgeführt wird, jeweils ein Pixel nach dem anderen. Das Ergebnis eines jeden Aufrufs der Funktion ist die Ausgabefarbe an der jeweiligen Pixelkoordinate im Bild. Ein Shader kann ein oder mehrere Eingabebilder festlegen, deren Inhalt zum Bestimmen der Ausgabe der Funktion verwendet wird. Ein Shader kann auch einen oder mehrere Parameter festlegen, die als Eingabewerte für die Berechnung der Funktionsausgabe verwendet werden können. Bei einer einzelnen Shaderausführung sind Eingabe- und Parameterwerte konstant. Es ändert sich lediglich die Koordinate des Pixels, dessen Farbe das Ergebnis der Funktion ist. Shaderfunktionsaufrufe für mehrere Ausgabepixelkoordinaten werden gleichzeitig ausgeführt, damit die Shaderausgabeleistung verbessert wird.
Der Shaderbytecode kann zur Laufzeit mit einer URLLoader-Instanz geladen werden. Das folgende Beispiel zeigt, wie eine Bytecode-Datei für einen Shader zur Laufzeit geladen und mit einer Shader-Instanz verknüpft wird.
Sie können den Shader auch beim Kompilieren in die SWF einbetten, indem sie das
In beiden Fällen verknüpfen Sie den unformatierten Shaderbytecode (die
Sobald eine Shader-Instanz erstellt wurde, kann Sie auf mehrere Arten verwendet werden:
Shader-Füllungen, Filter und Mischmodi werden mit GPU-Rendering nicht unterstützt.
Unterstützung für mobile Browser: Diese Funktion wird in mobilen Browsern nicht unterstützt.
Unterstützung von AIR-Profilen: Diese Funktion wird auf allen Desktopbetriebssystemen unterstützt, jedoch nicht auf allen mobilen Geräten. Bei Geräten mit AIR für TV wird sie nicht unterstützt. Weitere Informationen zum AIR-Support über mehrere Profile finden Sie unter
Beachten Sie, dass im Beispiel davon ausgegangen wird, dass im selben Ordner wie dem Ausgabeordner der Anwendung eine Shaderbytecodedatei mit dem Namen „donothing.pbj“ vorhanden ist. Der Pixel Bender-Quellcode for den DoNothing-Shader ist im
Bei diesem Beispiel wird davon ausgegangen, dass im selben Ordner, in dem der Quellcode für die Anwendung liegt, eine Shaderbytecodedatei namens „donothing.pbj“ vorhanden ist und dass Flex SDK für das Kompilieren der SWF verwendet wird. Der Pixel Bender-Quellcode for den DoNothing-Shader ist im
Informationen über den Zugriff auf und die Änderung der dynamischen Eigenschaften des
Der Satz der möglichen Werte für die
Der Standartwert ist
Im vollen Präzisionsmodus (
Der schnelle Präzisionsmodus (
Die Auswahl des Präzisionsmodus wirkt sich auf die folgenden Shadervorgänge aus. Diese Vorgänge sind auf einem Intel-Prozessor schneller, wenn die SSE-Anweisung wie folgt eingestellt ist:
Im Gegensatz zum Sprite-Objekt besitzt ein MovieClip-Objekt eine Zeitleiste.
>In Flash Professional bieten die Methoden für die MovieClip-Klasse dieselbe Funktionalität wie Aktionen für Movieclips. Für einige zusätzliche Methoden liegen in der Werkzeugleiste für Aktionen der Flash-Authoring-Umgebung keine entsprechenden Aktionen vor.
Auf untergeordnete Instanzen, die in Flash Professional auf der Bühne platziert werden, kann nicht durch Code von einem Konstruktor einer übergeordneten Instanz aus zugegriffen werden, da sie an diesem Punkt der Codeausführung nicht erstellt wurden. Vor dem Zugriff auf die untergeordnete Instanz muss die übergeordnete Instanz die untergeordnete entweder mithilfe von Code erstellen oder den Zugriff auf eine Callback-Funktion verzögern, die überwacht, wann die untergeordnete Instanz ihr Ereignis
Wenn Sie eine der folgenden Eigenschaften eines MovieClip-Objekts mit einem Bewegungs-Tween ändern, wird der Abspielkopf in diesem MovieClip-Objekt gestoppt:
Hinweis:Flash Lite 4 unterstützt die MovieClip.opaqueBackground-Eigenschaft nur, wenn FEATURE_BITMAPCACHE definiert ist. Die Standardkonfiguration von Flash Lite 4 definiert FEATURE_BITMAPCACHE nicht. Um die MovieClip.opaqueBackground-Eigenschaft für ein geeignetes Gerät zu aktivieren, definieren Sie FEATURE_BITMAPCACHE in Ihrem Projekt.
Die
Umfasst der Movieclip mehrere Szenen, gibt die
Umfasst der Movieclip mehrere Szenen, gibt die
Sie können die
Eine Konstante ist zur Benennung von jeder Kante und Ecke eines Fensters definiert.
Wenn Sie mehrere Methoden aufrufen, können Sie den Bit-für-Bit-Operator OR (
Die BitmapDataChannel-Konstanten werden bereitgestellt, um sie als Werte in den folgenden Methoden und Eigenschaften zu verwenden:
Verwenden Sie ein GraphicsSolidFill-Objekt mit der
Das folgende Beispiel zeigt dieselbe Farbverlaufsfüllung bei Verwendung verschiedener Auftragstärken:
Verwenden Sie ein GraphicsShaderFill-Objekt mit der
Die vom Shader entgegengenommenen Koordinaten basieren auf der im
Wenn Sie eine Shader-Instanz als Argument übergeben, wird der Shader intern kopiert und der Zeichnungsfüllvorgang verwendet anstatt eines Verweises auf den ursprünglichen Shader die interne Kopie. Änderungen am Shader, beispielsweise die Änderung eines Parameterwerts, einer Eingabe, oder des Bytecode, werden nicht auf die Kopie des Shaders angewendet, die für die Füllung verwendet wird.
Die Sprite-Klasse umfasst ebenfalls eine
Beachten Sie: Obwohl der Parameter nur einen einzelnen Wert erwartet, ist die
Beachten Sie: Obwohl der Parameter nur einen einzelnen Wert erwartet, ist die
Beachten Sie: Obwohl der Parameter nur einen einzelnen Wert erwartet, ist die
Wenn sich Pfade schneiden oder überlappen, bestimmt die Windungsrichtung die Regeln für das Füllen der Bereiche, die durch die Überschneidung bzw. Überlappung entstanden sind.
Verwenden Sie ein GraphicsPath-Objekt mit der
Die GraphicsPath-Klasse verfügt über einen eigenen Satz an Methoden (
Die Werte in dieser Klasse werden von der
Die Befehlsvarianten
Die Befehlsvarianten