Paket | flash.display |
Klasse | public class DisplayObject |
Vererbung | DisplayObject EventDispatcher Object |
Implementiert | IBitmapDrawable |
Unterklassen | AVM1Movie, Bitmap, InteractiveObject, MorphShape, Shape, StaticText, Video |
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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 new DisplayObject()
wird eine ArgumentError
-Ausnahme ausgelöst.
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 added
-Ereignisses die bestimmte DisplayObjectInstanz, die der Anzeigeliste hinzugefügt wurde. Bei einem einzigen Ziel ist die Platzierung des Ereignis-Listeners auf dieses Ziel beschränkt, in manchen Fällen auf die übergeordneten Elemente des Ziels in der Anzeigeliste. Bei broadcast-Ereignissen ist das Ziel jedoch keine bestimmte DisplayObject-Instanz, sondern alle DisplayObject-Instanzen, einschließlich jener, die nicht in der Anzeigeliste erscheinen. Das bedeutet, dass Sie jeder DisplayObject-Instanz einen Listener hinzufügen können, der auf broadcast-Ereignisse wartet. Zusätzlich zu den in der Ereignistabelle der DisplayObject-Klasse aufgelisteten broadcast-Ereignissen erbt die DisplayObject-Klasse zwei broadcast-Erignisse von der EventDispatcher-Klasse: activate
und deactivate
.
Einige der in den ActionScript 1.0- und 2.0-Klassen MovieClip, TextField und Button verwendeten Eigenschaften (wie _alpha
, _height
, _name
, _width
, _x
, _y
und andere) verfügen über Entsprechungen in der ActionScript 3.0-Klasse DisplayObject, wurden aber so umbenannt, dass der neue Name nicht mehr mit einem Unterstrich (_) beginnt.
Weitere Informationen finden Sie im Kapitel „Programmierung von Anzeigeobjekten“ des ActionScript 3.0 Entwicklerhandbuchs.
Verwandte API-Elemente
Eigenschaft | Definiert von | ||
---|---|---|---|
accessibilityProperties : AccessibilityProperties
Die aktuellen Optionen für Eingabehilfen zur Barrierefreiheit dieses Anzeigeobjekts. | DisplayObject | ||
alpha : Number
Gibt den Alphatransparenzwert des angegebenen Objekts an. | DisplayObject | ||
blendMode : String
Ein Wert aus der BlendMode-Klasse, mit dem angegeben wird, welcher Mischmodus verwendet werden soll. | DisplayObject | ||
blendShader : Shader [Nur Schreiben]
Legt einen Shader fest, der für das Mischen von Vordergrund und Hintergrund verwendet wird. | DisplayObject | ||
cacheAsBitmap : Boolean
Wird diese Eigenschaft auf „true“ gesetzt, speichern Flash-Laufzeitumgebungen eine interne Bitmap-Darstellung des Anzeigeobjekts im Cache. | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
Bei einem Nicht-Null-Wert definiert dieses Matrix-Objekt, wie ein Anzeigeobjekt dargestellt wird, wenn cacheAsBitmap auf „true“ gesetzt ist. | DisplayObject | ||
constructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz. | Object | ||
filters : Array
Ein indiziertes Array, das alle dem Anzeigeobjekt derzeit zugeordneten filter-Objekte enthält. | DisplayObject | ||
height : Number
Gibt die Höhe des Anzeigeobjekts in Pixeln an. | DisplayObject | ||
loaderInfo : LoaderInfo [schreibgeschützt]
Gibt ein LoaderInfo-Objekt mit Informationen zum Laden der Datei zurück, zu der dieses Anzeigeobjekt gehört. | DisplayObject | ||
mask : DisplayObject
Das aufrufende Anzeigeobjekt wird durch das angegebene mask-Objekt maskiert. | DisplayObject | ||
metaData : Object
Bezieht das Metadatenobjekt der DisplayObject-Instanz, wenn Metadaten neben der Instanz dieses DisplayObject in der SWF-Datei durch ein PlaceObject4-Tag gespeichert wurden. | DisplayObject | ||
mouseX : Number [schreibgeschützt]
Gibt die x-Koordinate der Position der Maus oder des Benutzereingabegeräts in Pixeln an. | DisplayObject | ||
mouseY : Number [schreibgeschützt]
Gibt die y-Koordinate der Position der Maus oder des Benutzereingabegeräts in Pixeln an. | DisplayObject | ||
name : String
Gibt den Instanznamen des Anzeigeobjekts an. | DisplayObject | ||
opaqueBackground : Object
Legt fest, ob das Anzeigeobjekt bei einer bestimmten Hintergrundfarbe undurchsichtig ist. | DisplayObject | ||
parent : DisplayObjectContainer [schreibgeschützt]
Gibt das DisplayObjectContainer-Objekt an, das dieses Anzeigeobjekt enthält. | DisplayObject | ||
root : DisplayObject [schreibgeschützt]
Bei einem Anzeigeobjekt in einer geladenen SWF-Datei ist die root-Eigenschaft das oberste Anzeigeobjekt in dem Teil der Baumstruktur der Anzeigeliste, der diese SWF-Datei repräsentiert. | DisplayObject | ||
rotation : Number
Gibt die Drehung der DisplayObject-Instanz ausgehend von der ursprünglichen Ausrichtung in Grad an. | DisplayObject | ||
rotationX : Number
Gibt die x-Achsendrehung der DisplayObject-Instanz in Grad an, und zwar bezogen auf die ursprüngliche Ausrichtung zum übergeordneten 3D-Container. | DisplayObject | ||
rotationY : Number
Gibt die y-Achsendrehung der DisplayObject-Instanz in Grad an, und zwar bezogen auf die ursprüngliche Ausrichtung zum übergeordneten 3D-Container. | DisplayObject | ||
rotationZ : Number
Gibt die Drehung der z-Achse der DisplayObject-Instanz in Grad an, ausgehend von ihrer ursprünglichen Ausrichtung relativ zum übergeordneten 3D-Container. | DisplayObject | ||
scale9Grid : Rectangle
Das aktuell verwendete Skalierungsraster. | DisplayObject | ||
scaleX : Number
Gibt die horizontale Skalierung (Prozentwert) des Objekts ausgehend vom Registrierungspunkt an. | DisplayObject | ||
scaleY : Number
Gibt die vertikale Skalierung (Prozentwert) eines Objekts ausgehend vom Registrierungspunkt an. | DisplayObject | ||
scaleZ : Number
Gibt die Tiefenskalierung (Prozentwert) eines Objekts ausgehend vom Registrierungspunkt an. | DisplayObject | ||
scrollRect : Rectangle
Die Begrenzungen des Bildlaufrechtecks für das Anzeigeobjekt. | DisplayObject | ||
stage : Stage [schreibgeschützt]
Die Bühne des Anzeigeobjekts. | DisplayObject | ||
transform : flash.geom:Transform
Ein Objekt mit Eigenschaften, die zur Matrix, Farbtransformation und Pixelbegrenzung eines Anzeigeobjekts gehören. | DisplayObject | ||
visible : Boolean
Gibt an, ob das Anzeigeobjekt sichtbar ist oder nicht. | DisplayObject | ||
width : Number
Gibt die Breite des Anzeigeobjekts in Pixeln an. | DisplayObject | ||
x : Number
Gibt die x-Koordinate der DisplayObject-Instanz relativ zu den lokalen Koordinaten des übergeordneten DisplayObjectContainer-Objekts an. | DisplayObject | ||
y : Number
Gibt die y-Koordinate der DisplayObject-Instanz relativ zu den lokalen Koordinaten des übergeordneten DisplayObjectContainer-Objekts an. | DisplayObject | ||
z : Number
Gibt die z-Koordinatenposition an der z-Achse der DisplayObject-Instanz relativ zum übergeordneten 3D-Container an. | DisplayObject |
Methode | Definiert von | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registriert ein Ereignis-Listener-Objekt bei einem EventDispatcher-Objekt, sodass der Listener über ein Ereignis benachrichtigt wird. | EventDispatcher | ||
Sendet ein Ereignis in den Ereignisablauf. | EventDispatcher | ||
Gibt ein Rechteck zurück, das den Bereich des Anzeigeobjekts in Bezug auf das Koordinatensystem des targetCoordinateSpace-Objekts definiert. | DisplayObject | ||
Gibt ein Rechteck zurück, das die Begrenzung des Anzeigeobjekts (ohne etwaige Striche oder Formen) definiert, und zwar aufgrund des vom Parameter „targetCoordinateSpace“ definierten Koordinatensystems. | DisplayObject | ||
Konvertiert das point-Objekt von den (globalen) Bühnenkoordinaten in die (lokalen) Koordinaten des Anzeigeobjekts. | DisplayObject | ||
Konvertiert einen zweidimensionale Punkt von den (globalen) Bühnenkoordinaten in die dreidimensionalen (lokalen) Koordinaten des Anzeigeobjekts. | DisplayObject | ||
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat. | EventDispatcher | ||
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde. | Object | ||
Untersucht den Begrenzungsrahmen des Anzeigeobjekts, um festzustellen, ob er sich mit dem Begrenzungsrahmen des obj-Anzeigeobjekts überschneidet. | DisplayObject | ||
Wertet das Anzeigeobjekt aus, um festzustellen, ob es den durch die Parameter „x“ und „y“ festgelegten Punkt überdeckt oder schneidet. | DisplayObject | ||
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde. | Object | ||
Konvertiert einen dreidimensionalen Punkt der dreidimensionalen (lokalen) Koordinaten des Anzeigeobjekts in einen zweidimensionalen Punkt der (globalen) Bühnenkoordinaten. | DisplayObject | ||
Konvertiert das point-Objekt von den (lokalen) Koordinaten des Anzeigeobjekts in die (globalen) Bühnenkoordinaten. | DisplayObject | ||
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann. | Object | ||
Entfernt einen Listener aus dem EventDispatcher-Objekt. | EventDispatcher | ||
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest. | Object | ||
Gibt die Stringdarstellung dieses Objekts zurück, formatiert entsprechend den Konventionen des Gebietsschemas. | Object | ||
Gibt das angegebene Objekt als String zurück. | Object | ||
Gibt den Grundwert des angegebenen Objekts zurück. | Object | ||
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner Vorgänger ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist. | EventDispatcher |
Ereignis | Übersicht | Definiert von | ||
---|---|---|---|---|
[broadcast event] Wird ausgelöst, wenn Flash Player oder eine AIR-Anwendung den Betriebssystemfokus erhält und aktiv wird. | EventDispatcher | |||
Wird ausgelöst, wenn ein Objekt der Anzeigeliste hinzugefügt wird. | DisplayObject | |||
Wird ausgelöst, wenn ein Anzeigeobjekt der Anzeigeliste für die Bühne hinzugefügt wird. Dies erfolgt entweder direkt oder über das Hinzufügen einer Unterstruktur, die das Anzeigeobjekt enthält. | DisplayObject | |||
[broadcast event] Wird ausgelöst, wenn Flash Player- oder die AIR-Anwendung den Fokus verliert und inaktiv wird. | EventDispatcher | |||
[broadcast event] Wird ausgelöst, wenn der Abspielkopf ein neues Bild erreicht. | DisplayObject | |||
[broadcast event] Wird ausgelöst, wenn der Abspielkopf das aktuelle Bild verlässt. | DisplayObject | |||
[broadcast event] Wird ausgelöst, nachdem die Konstruktoren von Bildanzeigeobjekten ausgeführt wurden, bevor Bildskripten ausgeführt wurden. | DisplayObject | |||
Wird ausgelöst, wenn ein Objekt aus der Anzeigeliste entfernt werden soll. | DisplayObject | |||
Wird ausgelöst, wenn ein Anzeigeobjekt aus der Anzeigeliste entfernt werden soll. Dies erfolgt entweder direkt oder über das Entfernen einer Unterstruktur, die das Anzeigeobjekt enthält. | DisplayObject | |||
[broadcast event] Wird ausgelöst, wenn die Anzeigeliste kurz davor steht, aktualisiert und neu gezeichnet zu werden. | DisplayObject |
accessibilityProperties | Eigenschaft |
accessibilityProperties:AccessibilityProperties
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Die aktuellen Optionen für Eingabehilfen zur Barrierefreiheit dieses Anzeigeobjekts. Wenn Sie die accessibilityProperties
-Eigenschaft oder eines der Felder innerhalb von accessibilityProperties
ändern, müssen Sie die Accessibility.updateProperties()
-Methode aufrufen, damit diese Änderungen angewendet werden.
Hinweis: Bei einem in der Flash-Authoring-Umgebung erstellten Objekt wird für accessibilityProperties
ein etwaiger Wert aus dem Bedienfeld „Eigenschaften“ für dieses Objekt übernommen.
Implementierung
public function get accessibilityProperties():AccessibilityProperties
public function set accessibilityProperties(value:AccessibilityProperties):void
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
import flash.text.TextField; import flash.accessibility.AccessibilityProperties; import flash.accessibility.Accessibility; import flash.system.Capabilities; var tf:TextField = new TextField(); tf.text = "hello"; var accessProps:AccessibilityProperties = new AccessibilityProperties(); accessProps.name = "Greeting"; tf.accessibilityProperties = accessProps; if (Capabilities.hasAccessibility) { Accessibility.updateProperties(); } trace(tf.accessibilityProperties.name); // Greeting
alpha | Eigenschaft |
alpha:Number
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gibt den Alphatransparenzwert des angegebenen Objekts an. Die zulässigen Werte liegen zwischen 0 (völlig transparent) und 1 (völlig undurchsichtig). Der Standardwert ist 1. Anzeigeobjekte mit einem alpha
-Wert von 0 sind aktiv, auch wenn sie nicht sichtbar sind.
Implementierung
public function get alpha():Number
public function set alpha(value:Number):void
Beispiel ( Verwendung dieses Beispiels )
alpha
-Eigenschaft eines Sprites auf 50 %, wenn die Maus über das Sprite bewegt wird:
import flash.display.Sprite; import flash.events.MouseEvent; var circle:Sprite = new Sprite(); circle.graphics.beginFill(0xFF0000); circle.graphics.drawCircle(40, 40, 40); addChild(circle); circle.addEventListener(MouseEvent.MOUSE_OVER, dimObject); circle.addEventListener(MouseEvent.MOUSE_OUT, restoreObject); function dimObject(event:MouseEvent):void { event.target.alpha = 0.5; } function restoreObject(event:MouseEvent):void { event.target.alpha = 1.0; }
blendMode | Eigenschaft |
blendMode:String
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Ein Wert aus der BlendMode-Klasse, mit dem angegeben wird, welcher Mischmodus verwendet werden soll. Eine Bitmap kann intern auf zweierlei Weise gezeichnet werden. Wenn Sie einen Mischmodus oder eine externe Zuschneidemaske aktiviert haben, wird die Bitmap gezeichnet, indem dem Vektorrenderer ein Quadrat hinzugefügt wird. Wenn Sie versuchen, für die Eigenschaft einen unzulässigen Wert einzustellen, setzen Flash-Laufzeitumgebungen den Wert auf BlendMode.NORMAL
.
Die blendMode
-Eigenschaft wirkt sich auf jedes Pixel des Anzeigeobjekts aus. Dabei wird jedes Pixel aus den drei Grundfarben (Rot, Grün und Blau) jeweils mit einem Farbwert zwischen 0x00 und 0xFF zusammengestellt. Flash Player oder Adobe AIR vergleicht jede Grundfarbe eines Pixels im Movieclip mit der entsprechenden Farbe des Pixels im Hintergrund. Wenn blendMode
beispielsweise auf BlendMode.LIGHTEN
eingestellt ist, vergleicht Flash Player oder Adobe AIR den Rotwert des Anzeigeobjekts mit dem Rotwert des Hintergrunds und verwendet den helleren der beiden Werte für die rote Komponente der angezeigten Farbe.
In der folgenden Tabelle werden die Einstellungen von blendMode
beschrieben. Die BlendMode-Klasse definiert String-Werte, die Sie verwenden können. Die Abbildungen in der Tabelle zeigen blendMode
-Werte, die auf ein kreisförmiges Anzeigeobjekt (2) angewendet werden, das ein anderes Anzeigeobjekt (1) überlagert.
BlendMode-Konstante | Abbildung | Beschreibung |
---|---|---|
BlendMode.NORMAL | Das Anzeigeobjekt wird vor dem Hintergrund angezeigt. Die Pixelwerte des Anzeigeobjekts setzen die Werte des Hintergrunds außer Kraft. An den Stellen, an denen das Anzeigeobjekt transparent ist, wird der Hintergrund sichtbar. | |
BlendMode.LAYER | Erzwingt die Erstellung einer Transparenzgruppe für das Anzeigeobjekt. Dies bedeutet, dass das Anzeigeobjekt vorher in einem temporären Puffer zusammengesetzt wird, bevor es weiterverarbeitet wird. Dies geschieht automatisch, wenn das Anzeigeobjekt im Voraus mithilfe der Bitmap-Zwischenspeicherung zwischengespeichert wird oder wenn es sich bei dem Anzeigeobjekt um einen Anzeigeobjekt-Container handelt, der mindestens ein untergeordnetes Objekt besitzt, dessen blendMode -Einstellung nicht BlendMode.NORMAL ist. Nicht unterstützt für GPU-Rendering.
| |
BlendMode.MULTIPLY | Multipliziert die Werte der Grundfarben des Anzeigeobjekts mit denen der Hintergrundfarbe und normalisiert das Ergebnis durch Division durch 0xFF. Dies führt zu dunkleren Farben. Diese Einstellung wird im Allgemeinen für Schatten- und Tiefeneffekte verwendet.
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. | |
BlendMode.SCREEN | Multipliziert die Komplementärfarbe des Anzeigeobjekts mit der Komplementärfarbe der Hintergrundfarbe, was zu helleren Farbtönen führt. Diese Einstellung wird in der Regel für Hervorhebungen bzw. zum Entfernen von schwarzen Bereichen aus dem Anzeigeobjekt verwendet. | |
BlendMode.LIGHTEN | Wählt die hellere Grundfarbe des Anzeigeobjekts und die Farbe des Hintergrunds aus (die Farben mit höheren Werten). Diese Einstellung wird normalerweise für Überlagerungen verwendet.
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. | |
BlendMode.DARKEN | Wählt die dunklere Grundfarbe des Anzeigeobjekts und des Hintergrunds aus (die niedrigeren Werte). Diese Einstellung wird normalerweise für Überlagerungen verwendet.
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. | |
BlendMode.DIFFERENCE | Vergleicht die Grundfarben des Anzeigeobjekts mit den Farben des Hintergrunds und subtrahiert für die beiden Grundfarben den dunkleren Wert von dem helleren Wert. Diese Einstellung wird normalerweise zur Farbverstärkung verwendet.
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). | |
BlendMode.ADD | Addiert den Wert der Grundfarben des Anzeigeobjekts zu den Farben des Hintergrunds (mit einem oberen Grenzwert von 0xFF). Diese Einstellung wird im Allgemeinen für Animationen von heller werdenden Auflösungen zwischen zwei Objekten verwendet.
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). | |
BlendMode.SUBTRACT | Subtrahiert die Werte der Grundfarben des Anzeigeobjekts von den Werten der Hintergrundfarbe (mit einem unteren Grenzwert von 0). Diese Einstellung wird im Allgemeinen für Animationen von dunkler werdenden Auflösungen zwischen zwei Objekten verwendet.
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). | |
BlendMode.INVERT | Kehrt den Hintergrund um. | |
BlendMode.ALPHA | Wendet den Alphawert jedes Pixels des Anzeigeobjekts auf den Hintergrund an. Dieser Vorgang erfordert, dass die blendMode -Einstellung des übergeordneten Anzeigeobjekts auf BlendMode.LAYER gesetzt wird. In dieser Abbildung gilt beispielsweise für das übergeordnete Anzeigeobjekt, einen weißen Hintergrund, die Einstellung blendMode = BlendMode.LAYER . Nicht unterstützt für GPU-Rendering. | |
BlendMode.ERASE | Löscht den Hintergrund anhand der Alphawerte des Anzeigeobjekts. Dieser Vorgang erfordert, dass die blendMode -Einstellung des übergeordneten Anzeigeobjekts auf BlendMode.LAYER gesetzt wird. In dieser Abbildung gilt beispielsweise für das übergeordnete Anzeigeobjekt, einen weißen Hintergrund, die Einstellung blendMode = BlendMode.LAYER . Nicht unterstützt für GPU-Rendering. | |
BlendMode.OVERLAY | Passt die Farbe jedes Pixels entsprechend der Dunkelheit des Hintergrunds an. Wenn der Hintergrund heller ist als 50 % Grau, werden die Farben des Anzeigeobjekts und des Hintergrunds überlagert, um hellere Farben zu erhalten. Ist der Hintergrund dagegen dunkler als 50 % Grau, werden die Farben multipliziert, was zu dunkleren Farben führt. Diese Einstellung wird normalerweise für Schattierungen verwendet. Nicht unterstützt für GPU-Rendering. | |
BlendMode.HARDLIGHT | Passt die Farbe jedes Pixels entsprechend der Dunkelheit des Anzeigeobjekts an. Ist das Anzeigeobjekt heller als 50 % Grau, werden die Farben von Anzeigeobjekt und Hintergrund überlagert, was zu einer helleren Farbe führt. Ist das Anzeigeobjekt dagegen dunkler als 50 % Grau, werden die Farben multipliziert, was zu dunkleren Farben führt. Diese Einstellung wird normalerweise für Schattierungen verwendet. Nicht unterstützt für GPU-Rendering. | |
BlendMode.SHADER | n. zutr. | Passt die Farbe mithilfe einer Standard-Shaderroutine an. Der verwendete Shader wird als die der blendShader -Eigenschaft zugewiesene Shader-Instanz festgelegt. Wird die blendShader -Eigenschaft eines Anzeigeobjekts auf eine Shader-Instanz gesetzt, so wird die blendMode -Eigenschaft des Anzeigeobjekts automatisch auf BlendMode.SHADER gesetzt. Wird die blendMode -Eigenschaft auf BlendMode.SHADER gesetzt, ohne vorher die blendShader -Eigenschaft zu setzen, so wird die blendMode -Eigenschaft auf BlendMode.NORMAL gesetzt. Nicht unterstützt für GPU-Rendering. |
Implementierung
public function get blendMode():String
public function set blendMode(value:String):void
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
BlendMode.SUBTRACT
, wenn der Mauszeiger auf den Kreis bewegt wird:
import flash.display.Sprite; import flash.display.BlendMode; import flash.events.MouseEvent; var square:Sprite = new Sprite(); square.graphics.beginFill(0xFF88CC); square.graphics.drawRect(0, 0, 80, 80); addChild(square); var circle:Sprite = new Sprite(); circle.graphics.beginFill(0xAA0022); circle.graphics.drawCircle(40, 40, 40); addChild(circle); circle.addEventListener(MouseEvent.MOUSE_OVER, dimObject); circle.addEventListener(MouseEvent.MOUSE_OUT, restoreObject); function dimObject(event:MouseEvent):void { event.target.blendMode = BlendMode.SUBTRACT; } function restoreObject(event:MouseEvent):void { event.target.blendMode = BlendMode.NORMAL; }
blendShader | Eigenschaft |
blendShader:Shader
[Nur Schreiben] Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Legt einen Shader fest, der für das Mischen von Vordergrund und Hintergrund verwendet wird. Ist die blendMode
-Eigenschaft auf BlendMode.SHADER
gesetzt, wird der festgelegte Shader für die Erstellung der Mischmodusausgabe des Anzeigeobjekts verwendet.
Wird die blendShader
-Eigenschaft eines Anzeigeobjekts auf eine Shader-Instanz gesetzt, so wird die blendMode
-Eigenschaft des Anzeigeobjekts automatisch auf BlendMode.SHADER
gesetzt. Wenn die blendShader
-Eigenschaft gesetzt wird (wodurch die blendMode
-Eigenschaft auf BlendMode.SHADER
gesetzt wird), so wird der Wert der blendMode
-Eigenschaft geändert. Der Mischmodus kann einfach durch Setzen der blendMode
-Eigenschaft auf BlendMode.SHADER
zur Verwendung des Misch-Shaders neu gesetzt werden. Die blendShader
-Eigenschaft muss nicht neu gesetzt werden, es sei denn, der für den Mischmodus verwendete Shader soll geändert werden.
Der Shader, der der blendShader
-Eigenschaft zugewiesen ist, muss mindestens zwei image4
-Eingaben festlegen. Die Eingaben müssen nicht im Code über die input
-Eigenschaften des verknüpften ShaderInput-Objekts festgelegt werden. Das Anzeigeobjekt im Hintergrund wird automatisch als erste Eingabe (die Eingabe mit index
gleich „0“) verwendet. Das Anzeigeobjekt im Vordergrund wird als zweite Eingabe (die Eingabe mit index
gleich „1“) verwendet. Ein als Misch-Shader verwendeter Shader kann mehr als zwei Eingaben festlegen: In diesem Fall müssen die weiteren Eingaben durch das Setzen der input
-Eigenschaft der ShaderInput-Instanz festgelegt werden.
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.
Implementierung
public function set blendShader(value:Shader):void
Auslöser
ArgumentError — Wenn der Shaderausgabetyp mit diesem Vorgang nicht kompatibel ist (der Shader muss eine pixel4 -Ausgabe festlegen).
| |
ArgumentError — Wenn der Shader weniger als zwei Bildeingaben festlegt oder die ersten beiden Eingaben keine image4 -Eingaben sind.
| |
ArgumentError — Wenn der Shader eine Bildeingabe festlegt, die nicht vorhanden ist.
| |
ArgumentError — Wenn eine ByteArray- oder Vector.<Number>-Instanz als Eingabe verwendet wird und die width - und height -Eigenschaft für ShaderInput nicht festgelegt ist oder die festgelegten Werte nicht mit der Datenmenge im Eingabeobjekt übereinstimmen. Weitere Informationen finden Sie im Abschnitt zur ShaderInput.input -Eigenschaft.
|
Verwandte API-Elemente
cacheAsBitmap | Eigenschaft |
cacheAsBitmap:Boolean
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wird diese Eigenschaft auf true
gesetzt, speichern Flash-Laufzeitumgebungen eine interne Bitmap-Darstellung des Anzeigeobjekts im Cache. Diese Zwischenspeicherung kann bei Anzeigeobjekten mit komplexen Vektorgrafiken ggf. die Leistung verbessern.
Alle Vektordaten eines Anzeigeobjekts, das eine zwischengespeicherte Bitmap besitzt, werden nicht in die Hauptanzeige, sondern in eine Bitmap gezeichnet. Wenn cacheAsBitmapMatrix
null ist oder nicht unterstützt wird, wird die Bitmap als nicht gedehnte, nicht gedrehte Pixel, die an den nächsten Pixelgrenzen ausgerichtet sind, in die Hauptanzeige kopiert. Die Pixel werden dem übergeordneten Objekt 1 zu 1 zugeordnet. Ändern sich die Grenzen der Bitmap, wird diese nicht gedehnt, sondern neu erstellt.
Wenn cacheAsBitmapMatrix
nicht null ist und unterstützt wird, wird das Objekt mit dieser Matrix in die Bitmap außerhalb des Bildschirms gezeichnet und die gestreckten und/oder gedrehten Ergebnisse dieser Darstellung werden verwendet, um das Objekt in der Hauptanzeige zu zeichnen.
Interne Bitmaps werden nur erstellt, wenn die cacheAsBitmap
-Eigenschaft auf true
gesetzt ist.
Nachdem Sie die cacheAsBitmap
-Eigenschaft auf true
gesetzt haben, ändert sich die Wiedergabe nicht. Allerdings führt das Anzeigeobjekt die Ausrichtung an Pixeln automatisch durch. Die Animationsgeschwindigkeit kann je nach Komplexität des Vektorinhalts deutlich schneller bzw. langsamer ablaufen.
Die cacheAsBitmap
-Eigenschaft wird jeweils automatisch auf true
gesetzt, wenn Sie einen Filter auf ein Anzeigeobjekt anwenden (vorausgesetzt, sein filter
-Array ist nicht leer). Und wenn auf ein Anzeigeobjekt ein Filter angewendet worden ist, wird cacheAsBitmap
für dieses Anzeigeobjekt als true
gemeldet, selbst wenn Sie die Eigenschaft auf false
setzen. Wenn Sie sämtliche Filter eines Anzeigeobjekts löschen, werden die cacheAsBitmap
-Einstellungen auf ihren vorherigen Stand zurückgesetzt.
In einigen Fällen verwendet ein Anzeigeobjekt keine Bitmap, auch wenn die cacheAsBitmap
-Eigenschaft auf true
gesetzt wurde. Stattdessen erfolgt die Wiedergabe aufgrund von Vektordaten, und zwar in den folgenden Fällen:
- Die Bitmap ist zu groß. In AIR 1.5 und Flash Player 10 ist die maximale Höhe oder Breite eines Bitmapbilds 8.191 Pixel, die gesamte Pixelzahl darf 16.777.215 nicht übersteigen. (Wenn ein Bitmapbild also 8.191 Pixel breit ist, darf es nur 2.048 Pixel hoch sein.) In Flash Player 9 und niedriger liegt die Grenze bei je 2.880 Pixel Höhe und Breite.
- Der Bitmap kann kein Speicher zugewiesen werden (nicht genügend Arbeitsspeicher vorhanden).
Die cacheAsBitmap
-Eigenschaft wird am besten mit Movieclips verwendet, die vorwiegend statischen Inhalt haben und nicht viel skaliert und gedreht werden. Bei solchen Movieclips kann cacheAsBitmap
zu einer deutlichen Performance-Steigerung führen, wenn der Movieclip „übersetzt“ wird (wenn seine x- und y-Position geändert wird).
Implementierung
public function get cacheAsBitmap():Boolean
public function set cacheAsBitmap(value:Boolean):void
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
cacheAsBitmap
-Eigenschaft verfolgt, die bei Verwendung eines Filters auf true
gesetzt wird:
import flash.display.Sprite; import flash.filters.DropShadowFilter var circle:Sprite = new Sprite(); circle.graphics.beginFill(0xAA0022); circle.graphics.drawCircle(40, 40, 40); addChild(circle); trace(circle.cacheAsBitmap); // false var filter:DropShadowFilter = new DropShadowFilter(); circle.filters = [filter]; trace(circle.cacheAsBitmap); // true
cacheAsBitmapMatrix | Eigenschaft |
cacheAsBitmapMatrix:Matrix
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 2.0 |
Bei einem Nicht-Null-Wert definiert dieses Matrix-Objekt, wie ein Anzeigeobjekt dargestellt wird, wenn cacheAsBitmap
auf true
gesetzt ist. Die Anwendung verwendet diese Matrix als Transformationsmatrix, die angewendet wird, wenn die Bitmapversion des Anzeigeobjekts dargestellt wird.
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 Unterstützung von AIR-Profilen.
Wenn cacheAsBitmapMatrix
gesetzt ist, behält die Anwendung ein im Cache gespeichertes Bitmapbild über verschiedene 2D-Transformationen hinweg, darunter Versetzung, Drehung und Skalierung. Wenn die Anwendung Hardwarebeschleunigung verwendet, wird das Objekt als Textur im Grafikspeicher gespeichert. Dies ermöglicht der GPU, die unterstützten Transformationen auf das Objekt anzuwenden. Die GPU kann diese Transformationen schneller ausführen als die CPU.
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 renderMode
-Eigenschaft in der Anwendungsdeskriptordatei auf gpu
fest. Beachten Sie, dass Geräte mit AIR für TV automatisch die Hardwarebeschleunigung verwenden, sofern verfügbar.
Der folgende Code sendet zum Beispiel eine nicht transformierte Bitmapdarstellung des Anzeigeobjekts an die GPU:
matrix:Matrix = new Matrix(); // creates an identity matrix mySprite.cacheAsBitmapMatrix = matrix; mySprite.cacheAsBitmap = true;
Normalerweise ist die Identitätsmatrix (new Matrix()
) ausreichend. Sie können jedoch auch eine andere Matrix, zum Beispiel eine verkleinerte Matrix, verwenden, um eine andere Bitmap an die GPU hochzuladen. Der folgende Code wendet zum Beispiel eine cacheAsBitmapMatrix
-Matrix an, die um den Faktor 0,5 für die x- und y-Achsen skaliert wurde. Das Bitmapobjekt, das die GPU verwendet, ist kleiner; die GPU passt die Größe jedoch an, um der transform.matrix-Eigenschaft des Anzeigeobjekts zu entsprechen:
matrix:Matrix = new Matrix(); // creates an identity matrix matrix.scale(0.5, 0.5); // scales the matrix mySprite.cacheAsBitmapMatrix = matrix; mySprite.cacheAsBitmap = true;
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 cacheAsBitmapMatrix
-Eigenschaft eignet sich für 2D-Transformationen. Wenn Sie Transformationen in 3D anwenden möchten, können Sie dazu eine 3D-Eigenschaft für das Objekt festlegen und seine transform.matrix3D
-Eigenschaft einstellen. Wenn die Anwendung unter Verwendung des GPU-Modus komprimiert wird, können die 3D-Transformationen von der GPU auf das Objekt angewendet werden. Die cacheAsBitmapMatrix
-Eigenschaft wird für 3D-Objekte ignoriert.
Implementierung
public function get cacheAsBitmapMatrix():Matrix
public function set cacheAsBitmapMatrix(value:Matrix):void
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
cacheAsBitmapMatrix
-Eigenschaft verwendet, um Transformationen auf eine Bitmapversion des Movieclips my_shape
anzuwenden.
import flash.geom.Matrix; import flash.display.*; import flash.utils.Timer; var my_shape:MovieClip = new MovieClip(); my_shape.graphics.beginFill(0xCCFF00); my_shape.graphics.drawRect(200, 0, 100, 100); addChild(my_shape); var my_timer:Timer = new Timer(250); my_timer.start(); my_timer.addEventListener(TimerEvent.TIMER, timerHandler); // make sure this Display Object remains cached for all 2D transforms my_shape.cacheAsBitmap = true; my_shape.cacheAsBitmapMatrix = new Matrix(); // rotation variables const initAngle:Number = 0; const pi:Number = 3.142; const incrAngle:Number = pi/10; // scaling variables const initScale:Number = 0.25; const incrScale: Number = 1.1; var initHeight : Number = my_shape.height; var initWidth : Number = my_shape.width; // translation variables var incrX : Number = root.width / 20; var incrY : Number = root.height / 10; // do some initial transforms var tempMat : Matrix = my_shape.transform.matrix; tempMat.rotate(initAngle); tempMat.scale(initScale, initScale); my_shape.transform.matrix = tempMat; function timerHandler(evt:TimerEvent):void { tempMat = my_shape.transform.matrix; tempMat.rotate(incrAngle); tempMat.translate(incrX, incrY); tempMat.scale(incrScale, incrScale); my_shape.transform.matrix = tempMat; // ensure we are still in a reasonable state or reset if(my_shape.height > stage.stageHeight/2) { my_shape.height = initHeight; } if(my_shape.width > stage.stageWidth/2) { my_shape.width = initWidth; } if(my_shape.x > stage.stageWidth) { my_shape.x = 0; } else if (my_shape.x < 0) { my_shape.x = stage.stageWidth; } if(my_shape.y > stage.stageHeight) { my_shape.y = 0; } else if (my_shape.y < 0) { my_shape.y = stage.stageHeight; } }
filters | Eigenschaft |
filters:Array
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Ein indiziertes Array, das alle dem Anzeigeobjekt derzeit zugeordneten filter-Objekte enthält. Die Klassen im flash.filters-Paket definieren spezifische Filter, die Sie verwenden können.
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 filters
-Arrays erstellen, dann das temporäre Array ändern und schließlich den Wert des temporären Arrays wieder auf das filters
-Array zurücksetzen. Es ist nicht möglich, ein neues filter-Objekt direkt dem filters
-Array hinzuzufügen.
Um einen Filter mithilfe von ActionScript hinzuzufügen, müssen Sie die folgenden Schritte befolgen (wobei myDisplayObject
das Ziel-Anzeigeobjekt ist):
- Erstellen Sie mithilfe der Konstruktormethode der gewählten Filterklasse ein neues filter-Objekt.
- Weisen Sie den Wert des
myDisplayObject.filters
-Arrays einem temporären Array zu, z. B. einem Array mit dem NamenmyFilters
. - Fügen Sie das neue filter-Objekt dem temporären Array
myFilters
hinzu. - Weisen Sie den Wert des temporären Arrays dem
myDisplayObject.filters
-Array zu.
Wenn das filters
-Array nicht definiert ist, müssen Sie kein temporäres Array verwenden. Stattdessen können Sie direkt ein Array-Literal mit einem oder mehreren selbst definierten Filterobjekten zuweisen. Im ersten Beispiel wird im Abschnitt „Beispiele“ mithilfe von Code, der sowohl definierte als auch undefinierte filters
-Arrays verarbeiten kann, ein Schlagschatten-Filter hinzugefügt.
Um ein vorhandenes filter-Objekt zu ändern, müssen Sie eine Technik anwenden, bei der eine Kopie des filters
-Arrays geändert wird:
- Weisen Sie den Wert des
filters
-Arrays einem temporären Array zu, z. B. einem Array mit dem NamenmyFilters
. - Ändern Sie die Eigenschaft mithilfe des temporären Arrays
myFilters
. Um beispielsweise die quality-Eigenschaft des ersten Filters im Array zu ändern, können Sie den folgenden Code anwenden:myFilters[0].quality = 1;
- Weisen Sie den Wert des temporären Arrays dem
filters
-Array zu.
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:
import flash.filters.DropShadowFilter var myFilter:DropShadowFilter = new DropShadowFilter (distance, angle, color, alpha, blurX, blurY, quality, inner, knockout)
Mithilfe des Operators is
können Sie festlegen, welcher Filtertyp den einzelnen Indexpositionen im filter
-Array zugewiesen werden soll. Der folgende Code zeigt z. B., wie Sie die Position des ersten Filters im filters
-Array (DropShadowFilter) bestimmen:
import flash.text.TextField; import flash.filters.*; var tf:TextField = new TextField(); var filter1:DropShadowFilter = new DropShadowFilter(); var filter2:GradientGlowFilter = new GradientGlowFilter(); tf.filters = [filter1, filter2]; tf.text = "DropShadow index: " + filterPosition(tf, DropShadowFilter).toString(); // 0 addChild(tf) function filterPosition(displayObject:DisplayObject, filterClass:Class):int { for (var i:uint = 0; i < displayObject.filters.length; i++) { if (displayObject.filters[i] is filterClass) { return i; } } return -1; }
Hinweis: Da Sie ein neues filter-Objekt dem DisplayObject.filters
-Array nicht direkt hinzufügen können, hat der folgende Code keine Auswirkung auf das Ziel-Anzeigeobjekt myDisplayObject
:
myDisplayObject.filters.push(myDropShadow);
Implementierung
public function get filters():Array
public function set filters(value:Array):void
Auslöser
ArgumentError — Wenn filters einen ShaderFilter umfasst und der Shaderausgabetyp mit diesem Vorgang nicht kompatibel ist (der Shader muss eine pixel4 -Ausgabe festlegen).
| |
ArgumentError — Wenn filters einen ShaderFilter umfasst und der Shader keine Bildeingabe festlegt oder die erste Eingabe keine image4 -Eingabe ist.
| |
ArgumentError — Wenn filters einen ShaderFilter enthält und der Shader eine nicht vorhandene Bildeingabe festlegt.
| |
ArgumentError — Wenn filters eine ShaderFilter-, ByteArray- oder Vector.<Number>-Instanz als Shader-Eingabe enthält und die Eigenschaften width und height für das ShaderInput-Objekt nicht festgelegt sind, oder wenn die angegebenen Werte nicht mit der Datenmenge in den Eingabedaten übereinstimmen. Weitere Informationen finden Sie im Abschnitt zur ShaderInput.input -Eigenschaft.
|
Verwandte API-Elemente
height | Eigenschaft |
height:Number
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gibt die Höhe des Anzeigeobjekts in Pixeln an. Die Höhe wird auf Basis der Begrenzungen des Inhalts des Anzeigeobjekts berechnet. Wenn Sie die Eigenschaft height
festsetzen, wird die Eigenschaft scaleY
entsprechend angepasst, wie im folgenden Code gezeigt.
var rect:Shape = new Shape(); rect.graphics.beginFill(0xFF0000); rect.graphics.drawRect(0, 0, 100, 100); trace(rect.scaleY) // 1; rect.height = 200; trace(rect.scaleY) // 2;
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, height
auf einen anderen Wert zu setzen.
Implementierung
public function get height():Number
public function set height(value:Number):void
Beispiel ( Verwendung dieses Beispiels )
height
-Eigenschaft jeweils basierend auf der textHeight
-Eigenschaft an. Das zweite Textfeld wird angeordnet, indem seine y
-Eigenschaft festgelegt wird:
import flash.text.TextField; var tf1:TextField = new TextField(); tf1.text = "Text Field 1"; tf1.border = true; tf1.wordWrap = true; tf1.width = 40; tf1.height = tf1.textHeight + 5; addChild(tf1); var tf2:TextField = new TextField(); tf2.text = "Text Field 2"; tf2.border = true; tf2.wordWrap = true; tf2.width = 40; tf2.height = tf2.textHeight + 5; tf2.y = tf1.y + tf1.height + 5; addChild(tf2);
loaderInfo | Eigenschaft |
loaderInfo:LoaderInfo
[schreibgeschützt] Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gibt ein LoaderInfo-Objekt mit Informationen zum Laden der Datei zurück, zu der dieses Anzeigeobjekt gehört. Die loaderInfo
-Eigenschaft ist nur für das root-Anzeigeobjekt einer SWF-Datei oder für eine geladene Bitmap definiert (nicht jedoch für eine Bitmap, die mit ActionScript gezeichnet wird). Um das loaderInfo
-Objekt zu finden, das der SWF-Datei zugeordnet ist, die das Anzeigeobjekt myDisplayObject
enthält, verwenden Sie myDisplayObject.root.loaderInfo
.
Eine große SWF-Datei kann ihren Download überwachen, indem sie this.root.loaderInfo.addEventListener(Event.COMPLETE, func)
aufruft.
Implementierung
public function get loaderInfo():LoaderInfo
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
this
sich auf ein Anzeigeobjekt bezieht. Der Code gibt die URL der Stamm-SWF-Datei für das Anzeigeobjekt aus:
trace (this.loaderInfo.url);
mask | Eigenschaft |
mask:DisplayObject
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Das aufrufende Anzeigeobjekt wird durch das angegebene mask
-Objekt maskiert. Um sicherzustellen, dass das Maskieren bei skalierter Bühne funktioniert, muss sich das mask
-Anzeigeobjekt in einem aktiven Bereich der Anzeigeliste befinden. Das mask
-Objekt selbst wird nicht gezeichnet. Setzen Sie mask
auf null
, um die Maske zu entfernen.
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 startDrag()
-Methode), wenn es sich in der Anzeigeliste befindet. Um die startDrag()
-Methode eines mask-Sprite-Objekts basierend auf einem mouseDown
-Ereignis aufzurufen, das vom Sprite ausgelöst wurde, setzen Sie die buttonMode
-Eigenschaft des Sprites auf true
.
Wenn Anzeigeobjekte zwischengespeichert werden, indem die cacheAsBitmap
-Eigenschaft auf true
und die cacheAsBitmapMatrix
-Eigenschaft auf ein Matrix-Objekt gesetzt wird, müssen sowohl die Maske als auch das Anzeigeobjekt, das maskiert wird, Teil derselben zwischengespeicherten Bitmap sein. Deshalb muss die Maske ein untergeordnetes Element des Anzeigeobjekts sein, wenn das Anzeigeobjekt zwischengespeichert wird. Wenn ein übergeordnetes Element des Anzeigeobjekts auf der Anzeigeliste zwischengespeichert wird, muss die Maske ein untergeordnetes Element dieses übergeordneten Elements oder eines seiner untergeordneten Elemente sein. Wenn mehrere übergeordnete Elemente des maskierten Objekts zwischengespeichert werden, muss die Maske ein untergeordnetes Element des zwischengespeicherten Containers sein, der dem maskierten Objekt in der Anzeigeliste am nächsten ist.
Hinweis: Ein einzelnes mask
-Objekt kann nicht zum Maskieren mehrerer aufrufender Anzeigeobjekte verwendet werden. Wird das mask
-Objekt einem zweiten Anzeigeobjekt zugewiesen, wird es als Maske des ersten Objekts entfernt, dessen mask
-Eigenschaft sich dadurch in null
ändert.
Implementierung
public function get mask():DisplayObject
public function set mask(value:DisplayObject):void
Beispiel ( Verwendung dieses Beispiels )
drag()
-Ereignis-Listener-Funktion die startDrag()
-Methode des mask-Sprite-Objekts auf:
import flash.text.TextField; import flash.display.Sprite; import flash.events.MouseEvent; var tf:TextField = new TextField(); tf.text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, " + "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. " tf.selectable = false; tf.wordWrap = true; tf.width = 150; addChild(tf); var square:Sprite = new Sprite(); square.graphics.beginFill(0xFF0000); square.graphics.drawRect(0, 0, 40, 40); addChild(square); tf.mask = square; tf.addEventListener(MouseEvent.MOUSE_DOWN, drag); tf.addEventListener(MouseEvent.MOUSE_UP, noDrag); function drag(event:MouseEvent):void { square.startDrag(); } function noDrag(event:MouseEvent):void { square.stopDrag(); }
metaData | Eigenschaft |
mouseX | Eigenschaft |
mouseX:Number
[schreibgeschützt] Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gibt die x-Koordinate der Position der Maus oder des Benutzereingabegeräts in Pixeln an.
Hinweis: Bei einem gedrehten Anzeigeobjekt spiegelt die zurückgegebene x-Koordinate das nicht gedrehte Objekt wider.
Implementierung
public function get mouseX():Number
Beispiel ( Verwendung dieses Beispiels )
mouseX
- und mouseY
-Positionen an, wenn Benutzer auf das Sprite klicken:
import flash.display.Sprite; import flash.events.MouseEvent; var square:Sprite = new Sprite(); square.graphics.beginFill(0xFF0000); square.graphics.drawRect(0, 0, 200, 200); addChild(square); square.addEventListener(MouseEvent.CLICK, traceCoordinates); function traceCoordinates(event:MouseEvent):void { trace(square.mouseX, square.mouseY); }
mouseY | Eigenschaft |
mouseY:Number
[schreibgeschützt] Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gibt die y-Koordinate der Position der Maus oder des Benutzereingabegeräts in Pixeln an.
Hinweis: Bei einem gedrehten Anzeigeobjekt spiegelt die zurückgegebene y-Koordinate das nicht gedrehte Objekt wider.
Implementierung
public function get mouseY():Number
Beispiel ( Verwendung dieses Beispiels )
mouseX
- und mouseY
-Positionen an, wenn Benutzer auf das Sprite klicken:
import flash.display.Sprite; import flash.events.MouseEvent; var square:Sprite = new Sprite(); square.graphics.beginFill(0xFF0000); square.graphics.drawRect(0, 0, 200, 200); addChild(square); square.addEventListener(MouseEvent.CLICK, traceCoordinates); function traceCoordinates(event:MouseEvent):void { trace(square.mouseX, square.mouseY); }
name | Eigenschaft |
name:String
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gibt den Instanznamen des Anzeigeobjekts an. Das Objekt kann in der Child-Liste seines übergeordneten Anzeigeobjekt-Containers identifiziert werden, indem die getChildByName()
-Methode des Anzeigeobjekt-Containers aufgerufen wird.
Implementierung
public function get name():String
public function set name(value:String):void
Auslöser
IllegalOperationError — Wenn Sie versuchen, diese Eigenschaft für ein Objekt einzustellen, das in der Zeitleiste der Flash-Authoring-Umgebung platziert wurde.
|
Beispiel ( Verwendung dieses Beispiels )
name
-Eigenschaft aus, wenn Benutzer auf eines der Objekte klicken:
import flash.display.Sprite; import flash.events.MouseEvent; var circle1:Sprite = new Sprite(); circle1.graphics.beginFill(0xFF0000); circle1.graphics.drawCircle(40, 40, 40); circle1.name = "circle1"; addChild(circle1); circle1.addEventListener(MouseEvent.CLICK, traceName); var circle2:Sprite = new Sprite(); circle2.graphics.beginFill(0x0000FF); circle2.graphics.drawCircle(140, 40, 40); circle2.name = "circle2"; addChild(circle2); circle2.addEventListener(MouseEvent.CLICK, traceName); function traceName(event:MouseEvent):void { trace(event.target.name); }
opaqueBackground | Eigenschaft |
opaqueBackground:Object
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Legt fest, ob das Anzeigeobjekt bei einer bestimmten Hintergrundfarbe undurchsichtig ist. Eine transparente Bitmap enthält Alphakanaldaten und wird durchsichtig gezeichnet. Eine undurchsichtige Bitmap hat keinen Alphakanal (und wird schneller gerendert als eine transparente Bitmap). Wenn die Bitmap durchsichtig ist, geben Sie an, welche Hintergrundfarbe sie verwenden soll.
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 null
(dem Standardwert) erhält das Anzeigeobjekt einen transparenten Hintergrund.
Die opaqueBackground
-Eigenschaft ist vorwiegend für den Einsatz mit der cacheAsBitmap
-Eigenschaft gedacht, um die Wiedergabe zu optimieren. Bei Anzeigeobjekten, in denen die cacheAsBitmap
-Eigenschaft auf „true“ gesetzt wurde, kann das Setzen von opaqueBackground
die Wiedergabe-Performance verbessern.
Beim Aufrufen einer hitTestPoint()-Methode, bei der der Parameter shapeFlag
auf true
gesetzt wurde, wird der Bereich für den undurchsichtigen Hintergrund nicht
angepasst.
Der Bereich für den undurchsichtigen Hintergrund reagiert nicht auf Mausereignisse.
Implementierung
public function get opaqueBackground():Object
public function set opaqueBackground(value:Object):void
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
opaqueBackground
-Eigenschaft auf Rot (0xFF0000):
import flash.display.Shape; var circle:Shape = new Shape(); circle.graphics.beginFill(0x0000FF); circle.graphics.drawCircle(40, 40, 40); circle.opaqueBackground = 0xFF0000; addChild(circle);
parent | Eigenschaft |
parent:DisplayObjectContainer
[schreibgeschützt] Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gibt das DisplayObjectContainer-Objekt an, das dieses Anzeigeobjekt enthält. Mit der parent
-Eigenschaft können Sie einen relativen Pfad zu Anzeigeobjekten angeben, die in der Anzeigelistenhierarchie über dem aktuellen Anzeigeobjekt liegen.
Sie können parent
verwenden, um sich wie im folgenden Beispiel in der Anzeigeliste um mehrere Stufen nach oben zu bewegen:
this.parent.parent.alpha = 20;
Implementierung
public function get parent():DisplayObjectContainer
Auslöser
SecurityError — Das übergeordnete Anzeigeobjekt ist Teil einer Sicherheits-Sandbox, auf die Sie keinen Zugriff haben. Sie können diese Situation vermeiden, indem Sie im übergeordneten Film die Security.allowDomain() -Methode aufrufen.
|
Beispiel ( Verwendung dieses Beispiels )
parent
-Eigenschaft die Hierarchie der Anzeigeliste widerspiegelt:
import flash.display.Sprite; var sprite1:Sprite = new Sprite(); sprite1.name = "sprite1"; var sprite2:Sprite = new Sprite(); sprite2.name = "sprite2"; var sprite3:Sprite = new Sprite(); sprite3.name = "sprite3"; sprite1.addChild(sprite2); sprite2.addChild(sprite3); trace(sprite2.parent.name); // sprite1 trace(sprite3.parent.name); // sprite2 trace(sprite3.parent.parent.name); // sprite1
root | Eigenschaft |
root:DisplayObject
[schreibgeschützt] Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bei einem Anzeigeobjekt in einer geladenen SWF-Datei ist die Eigenschaft root
das oberste Anzeigeobjekt in dem Teil der Baumstruktur der Anzeigeliste, der diese SWF-Datei repräsentiert. Bei einem Bitmap-Objekt, das eine geladene Bilddatei repräsentiert, steht die root
-Eigenschaft für das Bitmap-Objekt selbst. Bei der Instanz der Hauptklasse der ersten geladenen SWF-Datei steht die root
-Eigenschaft für das Anzeigeobjekt selbst. Die root
-Eigenschaft des Stage-Objekts steht für das Stage-Objekt selbst. Die root
-Eigenschaft ist für jedes Anzeigeobjekt, das nicht in die Anzeigeliste aufgenommen wurde, auf null
gesetzt. Eine Ausnahme ist, wenn es in einen Anzeigeobjekt-Container eingefügt wurde, der sich zwar nicht in der Anzeigeliste befindet, aber dem obersten Anzeigeobjekt einer geladenen SWF-Datei untergeordnet ist.
Angenommen, Sie erstellen ein neues Sprite-Objekt, indem Sie die Konstruktormethode Sprite()
aufrufen. Seine root
-Eigenschaft hat dann den Wert null
, bis Sie das Objekt in die Anzeigeliste einfügen (oder in einen Objekt-Container, der sich zwar nicht in der Anzeigeliste befindet, aber dem obersten Anzeigeobjekt einer geladenen SWF-Datei untergeordnet ist).
Bei einer geladenen SWF-Datei ist die root
-Eigenschaft des obersten Anzeigeobjekts in der SWF-Datei auf sich selbst gesetzt, auch wenn sich das Loader-Objekt zum Laden der Datei nicht in der Anzeigeliste befindet. Die root
-Eigenschaft des Loader-Objekts ist nicht gesetzt, bis es als untergeordnetes Objekt eines Anzeigeobjekts hinzugefügt wird, dessen root
-Eigenschaft gesetzt ist.
Implementierung
public function get root():DisplayObject
Beispiel ( Verwendung dieses Beispiels )
root
-Eigenschaft für das Stage-Objekt, für ein Anzeigeobjekt (Loader-Objekt), das nicht geladen ist (sowohl bevor als auch nachdem es der Anzeigeliste hinzugefügt wurde), und für ein geladenes Objekt (ein geladenes Bitmap-Objekt):
import flash.display.Loader; import flash.net.URLRequest; import flash.events.Event; trace(stage.root); // [object Stage] var ldr:Loader = new Loader(); trace (ldr.root); // null addChild(ldr); trace (ldr.root); // [object ...] var urlReq:URLRequest = new URLRequest("example.jpg"); ldr.load(urlReq); ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded); function loaded(event:Event):void { trace(ldr.content.root); // [object Bitmap] }
rotation | Eigenschaft |
rotation:Number
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gibt die Drehung der DisplayObject-Instanz ausgehend von der ursprünglichen Ausrichtung in Grad an. Werte zwischen 0 und 180 geben eine Rechtsdrehung, Werte zwischen 0 und -180 eine Linksdrehung an. Werte außerhalb dieses Bereichs werden zu 360 addiert bzw. von 360 subtrahiert, damit sich ein Wert innerhalb des Bereichs ergibt. Die Anweisung my_video.rotation = 450
ist z. B. mit my_video.rotation = 90
identisch.
Implementierung
public function get rotation():Number
public function set rotation(value:Number):void
Beispiel ( Verwendung dieses Beispiels )
import flash.display.Sprite; import flash.events.MouseEvent; var square:Sprite = new Sprite(); square.graphics.beginFill(0xFFCC00); square.graphics.drawRect(-50, -50, 100, 100); square.x = 150; square.y = 150; addChild(square); square.addEventListener(MouseEvent.CLICK, rotate); function rotate(event:MouseEvent):void { square.rotation += 15; }
rotationX | Eigenschaft |
rotationX:Number
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Gibt die x-Achsendrehung der DisplayObject-Instanz in Grad an, und zwar bezogen auf die ursprüngliche Ausrichtung zum übergeordneten 3D-Container. Werte zwischen 0 und 180 geben eine Rechtsdrehung, Werte zwischen 0 und -180 eine Linksdrehung an. Werte außerhalb dieses Bereichs werden zu 360 addiert bzw. von 360 subtrahiert, damit sich ein Wert innerhalb des Bereichs ergibt.
Implementierung
public function get rotationX():Number
public function set rotationX(value:Number):void
Beispiel ( Verwendung dieses Beispiels )
rotationX
- und rotationY
-Eigenschaft. Der Registrierungspunkt der ersten Ellipse ist auf ihre Mitte gesetzt. Sie dreht sich um sich selbst. Die zweite Ellipse dreht sich um einen externen Punkt.
package { import flash.display.MovieClip; import flash.display.Shape; import flash.geom.*; import flash.display.Graphics; import flash.events.TimerEvent; import flash.utils.Timer; public class RotationExample1 extends MovieClip { private var ellipse:Shape = new Shape(); private var speed:int = 10; private var ellipse1:Shape; private var ellipse2:Shape; public function RotationExample1():void { ellipse1 = drawEllipse(-50, -40, (this.stage.stageWidth / 2), (this.stage.stageHeight / 2)); ellipse2 = drawEllipse(30, 40, (this.stage.stageWidth / 2), (this.stage.stageHeight / 2)); this.addChild(ellipse1); this.addChild(ellipse2); var t:Timer = new Timer(50); t.addEventListener(TimerEvent.TIMER, timerHandler); t.start(); } private function drawEllipse(x1, y1, x2, y2):Shape { var e:Shape = new Shape(); e.graphics.beginFill(0xFF0000); e.graphics.lineStyle(2); e.graphics.drawEllipse(x1, y1, 100, 80); e.graphics.endFill(); e.x = x2; e.y = y2; e.z = 1; return e; } private function timerHandler(event:TimerEvent):void { ellipse1.rotationY += speed; ellipse1.rotationX -= speed; ellipse2.rotationY += speed; ellipse2.rotationX -= speed; } } }
//Requires: // - Slider control UI component in Flash library. // - Publish for Flash Player 10. // [SWF(width="400", height="300")] import fl.controls.Slider; import fl.controls.SliderDirection; import fl.events.SliderEvent; var slider:Slider = new Slider(); slider.direction = SliderDirection.HORIZONTAL; slider.minimum = 0; slider.maximum = 360; slider.value = 45; slider.tickInterval = 45; slider.snapInterval = 1; slider.liveDragging = true; slider.addEventListener(SliderEvent.CHANGE, slider_change); slider.move(10, 10); addChild(slider); var spr:Sprite = new Sprite(); spr.graphics.lineStyle(2, 0xFF0000); spr.graphics.drawRect(0, 0, 100, 80); spr.x = Math.round((stage.stageWidth - spr.width)/2); spr.y = Math.round((stage.stageHeight - spr.height)/2); spr.rotationX = 45; addChild(spr); function slider_change(evt:SliderEvent):void { spr.rotationX = evt.value; }
rotationY | Eigenschaft |
rotationY:Number
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Gibt die y-Achsendrehung der DisplayObject-Instanz in Grad an, und zwar bezogen auf die ursprüngliche Ausrichtung zum übergeordneten 3D-Container. Werte zwischen 0 und 180 geben eine Rechtsdrehung, Werte zwischen 0 und -180 eine Linksdrehung an. Werte außerhalb dieses Bereichs werden zu 360 addiert bzw. von 360 subtrahiert, damit sich ein Wert innerhalb des Bereichs ergibt.
Implementierung
public function get rotationY():Number
public function set rotationY(value:Number):void
Beispiel ( Verwendung dieses Beispiels )
rotationX
- und rotationY
-Eigenschaft. Der Registrierungspunkt der ersten Ellipse ist auf ihre Mitte gesetzt. Sie dreht sich um sich selbst. Die zweite Ellipse dreht sich um einen externen Punkt.
package { import flash.display.MovieClip; import flash.display.Shape; import flash.geom.*; import flash.display.Graphics; import flash.events.TimerEvent; import flash.utils.Timer; public class RotationExample1 extends MovieClip { private var ellipse:Shape = new Shape(); private var speed:int = 10; private var ellipse1:Shape; private var ellipse2:Shape; public function RotationExample1():void { ellipse1 = drawEllipse(-50, -40, (this.stage.stageWidth / 2), (this.stage.stageHeight / 2)); ellipse2 = drawEllipse(30, 40, (this.stage.stageWidth / 2), (this.stage.stageHeight / 2)); this.addChild(ellipse1); this.addChild(ellipse2); var t:Timer = new Timer(50); t.addEventListener(TimerEvent.TIMER, timerHandler); t.start(); } private function drawEllipse(x1, y1, x2, y2):Shape { var e:Shape = new Shape(); e.graphics.beginFill(0xFF0000); e.graphics.lineStyle(2); e.graphics.drawEllipse(x1, y1, 100, 80); e.graphics.endFill(); e.x = x2; e.y = y2; e.z = 1; return e; } private function timerHandler(event:TimerEvent):void { ellipse1.rotationY += speed; ellipse1.rotationX -= speed; ellipse2.rotationY += speed; ellipse2.rotationX -= speed; } } }
rotationZ | Eigenschaft |
rotationZ:Number
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Gibt die Drehung der z-Achse der DisplayObject-Instanz in Grad an, ausgehend von ihrer ursprünglichen Ausrichtung relativ zum übergeordneten 3D-Container. Werte zwischen 0 und 180 geben eine Rechtsdrehung, Werte zwischen 0 und -180 eine Linksdrehung an. Werte außerhalb dieses Bereichs werden zu 360 addiert bzw. von 360 subtrahiert, damit sich ein Wert innerhalb des Bereichs ergibt.
Implementierung
public function get rotationZ():Number
public function set rotationZ(value:Number):void
scale9Grid | Eigenschaft |
scale9Grid:Rectangle
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Das aktuell verwendete Skalierungsraster. Ist diese Eigenschaft auf null
gesetzt, wird bei einer Skalierungstransformation das gesamte Anzeigeobjekt normal skaliert.
Wenn Sie dagegen die scale9Grid
-Eigenschaft definieren, wird das Anzeigeobjekt basierend auf dem scale9Grid
-Rechteck in ein Raster mit 9 Feldern eingeteilt, welches den inneren Bereich des Rasters definiert. Dieses Raster besitzt acht weitere Felder:
- Das Feld links oben, außerhalb des Rechtecks.
- Das Feld oberhalb des Rechtecks.
- Das Feld rechts oben, außerhalb des Rechtecks.
- Das Feld links vom Rechteck.
- Das Feld rechts vom Rechteck.
- Das Feld links unten, außerhalb des Rechtecks.
- Das Feld unterhalb des Rechtecks.
- Das Feld rechts unten, außerhalb des Rechtecks.
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 scale9Grid
-Eigenschaft gesetzt ist und ein Anzeigeobjekt skaliert wird, werden auch alle Texte und Farbverläufe normal skaliert. Für andere Objekttypen gelten allerdings die folgenden Regeln:
- Der Inhalt im inneren Feld wird normal skaliert.
- Der Inhalt in den Eckfeldern wird nicht skaliert.
- Der Inhalt im oberen und unteren Feld wird nur horizontal skaliert. Der Inhalt im linken und rechten Feld wird nur vertikal skaliert.
- Alle Füllungen (einschließlich Bitmaps, Videos und Farbverläufe) werden dabei gedehnt, um in ihre jeweiligen Formen zu passen.
Wird das Anzeigeobjekt gedreht, zeigen alle nachfolgende Skalierungen normales Verhalten (und die scale9Grid
-Eigenschaft wird ignoriert).
Betrachten Sie beispielsweise das folgende Anzeigeobjekt und das Rechteck, das als scale9Grid
-Eigenschaft des Anzeigeobjekts angewendet wird:
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 scale9Grid
-Raster skaliert:
Auf 75 % skaliert: | |
Auf 50 % skaliert: | |
Auf 25 % skaliert: | |
Horizontal auf 150 % gedehnt: |
Normalerweise wird die scale9Grid
-Eigenschaft angewendet, um ein Anzeigeobjekt als Komponente einzurichten, deren Randbereiche bei einer Skalierung der Komponente weiterhin in gleicher Breite angezeigt werden sollen.
Implementierung
public function get scale9Grid():Rectangle
public function set scale9Grid(value:Rectangle):void
Auslöser
ArgumentError — Wenn Sie an die Methode ein unzulässiges Argument übergeben.
|
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
graphics
-Eigenschaft ein Rechteck gezeichnet ist. Das Rechteck verfügt über eine Linie mit einer Stärke von 20 Pixel, die als Rahmen dient und mit einem Farbverlauf gefüllt ist. Das timer-Ereignis ruft die scale()
-Funktion auf, die das Shape-Objekt skaliert, indem sie die Eigenschaften scaleX
und scaleY
anpasst. Das scale9Grid
-Raster, das auf das Shape-Objekt angewendet wird, verhindert die Skalierung der Rahmenlinie des Rechtecks. Es wird nur die Farbverlaufsfüllung skaliert:
import flash.display.Shape; import flash.display.GradientType; import flash.display.SpreadMethod; import flash.display.InterpolationMethod; import flash.geom.Matrix; import flash.geom.Rectangle; import flash.utils.Timer; import flash.events.TimerEvent; var square:Shape = new Shape(); square.graphics.lineStyle(20, 0xFFCC00); var gradientMatrix:Matrix = new Matrix(); gradientMatrix.createGradientBox(15, 15, Math.PI, 10, 10); square.graphics.beginGradientFill(GradientType.RADIAL, [0xffff00, 0x0000ff], [100, 100], [0, 0xFF], gradientMatrix, SpreadMethod.REFLECT, InterpolationMethod.RGB, 0.9); square.graphics.drawRect(0, 0, 100, 100); var grid:Rectangle = new Rectangle(20, 20, 60, 60); square.scale9Grid = grid ; addChild(square); var tim:Timer = new Timer(100); tim.start(); tim.addEventListener(TimerEvent.TIMER, scale); var scaleFactor:Number = 1.01; function scale(event:TimerEvent):void { square.scaleX *= scaleFactor; square.scaleY *= scaleFactor; if (square.scaleX > 2.0) { scaleFactor = 0.99; } if (square.scaleX < 1.0) { scaleFactor = 1.01; } }
scaleX | Eigenschaft |
scaleX:Number
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gibt die horizontale Skalierung (Prozentwert) des Objekts ausgehend vom Registrierungspunkt an. Der Standardregistrierungspunkt liegt bei (0,0). 1,0 entspricht 100 % Skalierung.
Die Skalierung des lokalen Koordinatensystems ändert die Werte der x
- und y
-Eigenschaften, die in ganzen Pixeln angegeben werden.
Implementierung
public function get scaleX():Number
public function set scaleX(value:Number):void
Beispiel ( Verwendung dieses Beispiels )
graphics
-Eigenschaft ein Rechteck gezeichnet ist. Wenn Benutzer auf das Sprite klicken, wird es auf 10 % skaliert:
import flash.display.Sprite; import flash.events.MouseEvent; var square:Sprite = new Sprite(); square.graphics.beginFill(0xFFCC00); square.graphics.drawRect(0, 0, 100, 100); addChild(square); square.addEventListener(MouseEvent.CLICK, scale); function scale(event:MouseEvent):void { square.scaleX *= 1.10; square.scaleY *= 1.10; }
scaleY | Eigenschaft |
scaleY:Number
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gibt die vertikale Skalierung (Prozentwert) eines Objekts ausgehend vom Registrierungspunkt an. Der Standardregistrierungspunkt liegt bei (0,0). 1,0 entspricht 100 % Skalierung.
Die Skalierung des lokalen Koordinatensystems ändert die Werte der x
- und y
-Eigenschaften, die in ganzen Pixeln angegeben werden.
Implementierung
public function get scaleY():Number
public function set scaleY(value:Number):void
Beispiel ( Verwendung dieses Beispiels )
graphics
-Eigenschaft ein Rechteck gezeichnet ist. Wenn Benutzer auf das Sprite klicken, wird es auf 10 % skaliert:
import flash.display.Sprite; import flash.events.MouseEvent; var square:Sprite = new Sprite(); square.graphics.beginFill(0xFFCC00); square.graphics.drawRect(0, 0, 100, 100); addChild(square); square.addEventListener(MouseEvent.CLICK, scale); function scale(event:MouseEvent):void { square.scaleX *= 1.10; square.scaleY *= 1.10; }
scaleZ | Eigenschaft |
scaleZ:Number
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Gibt die Tiefenskalierung (Prozentwert) eines Objekts ausgehend vom Registrierungspunkt an. Der Standardregistrierungspunkt liegt bei (0,0). 1,0 entspricht 100 % Skalierung.
Die Skalierung des lokalen Koordinatensystems ändert die Werte der x
-, y
- und z
-Eigenschaften, die in ganzen Pixeln angegeben werden.
Implementierung
public function get scaleZ():Number
public function set scaleZ(value:Number):void
Verwandte API-Elemente
scrollRect | Eigenschaft |
scrollRect:Rectangle
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9 |
Die Begrenzungen des Bildlaufrechtecks für das Anzeigeobjekt. Das Anzeigeobjekt wird auf die vom Rechteck definierte Größe zugeschnitten. Innerhalb dieses Rechtecks wird ein Bildlauf durchgeführt, wenn Sie die Eigenschaften x
und y
des scrollRect
-Objekts ändern.
Die Eigenschaften des scrollRect
-Rechtecks verwenden den Koordinatenraum des Anzeigeobjekts und werden ebenso wie das Gesamtanzeigeobjekt skaliert. Die Eckbegrenzungen des zugeschnittenen Fensters des Anzeigeobjekts mit Bildlauffunktion liegen auf dem Ursprung des Anzeigeobjekts (0,0) sowie auf dem durch die Rechteckbreite und -höhe definierten Punkt. Diese Punkte sind nicht um den Ursprung zentriert, sondern verwenden den Ursprung, um die linke obere Ecke zu definieren. Ein Anzeigeobjekt mit Bildlauffunktion wird immer pixelweise verschoben.
Sie können den Objektausschnitt nach links und rechts verschieben, indem Sie die x
-Eigenschaft des scrollRect
-Rechteckobjekts setzen. Sie können den Objektausschnitt nach oben und unten verschieben, indem Sie die y
-Eigenschaft des scrollRect
-Rechteckobjekts setzen. Wenn das Anzeigeobjekt um 90° gedreht wird und Sie es nach links und rechts verschieben, wird es nach oben und unten verschoben.
Beachten Sie, dass Änderungen an der scrollRect
-Eigenschaft nur verarbeitet werden, wenn das Objekt gerendert wird. Deshalb produzieren Methoden wie localToGlobal
möglicherweise nicht das erwartete Ergebnis, wenn sie direkt nach dem Ändern von scrollRect
aufgerufen werden.
Hinweis: Ab Flash Player 11.4/AIR 3.4 werden negative Werte für die Breite oder Höhe des Rechtecks auf 0 geändert.
Implementierung
public function get scrollRect():Rectangle
public function set scrollRect(value:Rectangle):void
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
scrollRect
-Eigenschaft den Bildlaufbereich für das Anzeigeobjekt circle
definiert. Wenn Sie auf das circle
-Objekt klicken, passt die clicked()
-Ereignisprozedurmethode die y
-Eigenschaft der scrollRect
-Eigenschaft des circle
-Objekts an und bewirkt, dass für das Objekt ein Bildlauf nach unten ausgeführt wird:
import flash.display.Sprite; import flash.geom.Rectangle; import flash.events.MouseEvent; var circle:Sprite = new Sprite(); circle.graphics.beginFill(0xFFCC00); circle.graphics.drawCircle(200, 200, 200); circle.scrollRect = new Rectangle(0, 0, 200, 200); addChild(circle); circle.addEventListener(MouseEvent.CLICK, clicked); function clicked(event:MouseEvent):void { var rect:Rectangle = event.target.scrollRect; rect.y -= 5; event.target.scrollRect = rect; }
stage | Eigenschaft |
stage:Stage
[schreibgeschützt] Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Die Bühne des Anzeigeobjekts. Eine Flash-Laufzeitanwendung besitzt nur ein Stage-Objekt. Sie können z. B. mehrere Anzeigeobjekte erstellen und in die Anzeigeliste laden. Die stage
-Eigenschaft der verschiedenen Anzeigeobjekte verweist dann auf dasselbe Stage-Objekt (auch wenn das Anzeigeobjekt zu einer geladenen SWF-Datei gehört).
Wird ein Anzeigeobjekt nicht in die Anzeigeliste aufgenommen, ist seine stage
-Eigenschaft auf null
gesetzt.
Implementierung
public function get stage():Stage
Beispiel ( Verwendung dieses Beispiels )
width
-Eigenschaft des Stage-Objekts verwendet, um die Textfelder zu positionieren:
import flash.text.TextField; var tf1:TextField = new TextField(); tf1.text = "Text Field 1"; tf1.border = true; tf1.x = 10; addChild(tf1); tf1.width = tf1.stage.stageWidth / 2 - 10; var tf2:TextField = new TextField(); tf2.text = "Text Field 2"; tf2.border = true; tf2.x = tf1.x + tf1.width + 5; addChild(tf2); tf2.width = tf2.stage.stageWidth / 2 - 10; trace(stage.stageWidth);
transform | Eigenschaft |
transform:flash.geom:Transform
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Ein Objekt mit Eigenschaften, die zur Matrix, Farbtransformation und Pixelbegrenzung eines Anzeigeobjekts gehören. Die spezifischen Eigenschaften – „matrix“, „colorTransform“ und drei schreibgeschützte Eigenschaften (concatenatedMatrix
, concatenatedColorTransform
und pixelBounds
) – werden im Eintrag für die Transform-Klasse erläutert.
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 tx
-Wert einer Anzeigeobjekt-Matrix zu erhöhen, müssen Sie eine Kopie des gesamten Matrixobjekts anfertigen und anschließend das neue Objekt in die matrix-Eigenschaft des transform-Objekts kopieren:
var myMatrix:Matrix = myDisplayObject.transform.matrix;
myMatrix.tx += 10;
myDisplayObject.transform.matrix = myMatrix;
Sie können die tx
-Eigenschaft nicht direkt setzen. Der folgende Code hat keine Auswirkung auf myDisplayObject
:
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 myOldDisplayObj
nach myNewDisplayObj
:
myNewDisplayObj.transform = myOldDisplayObj.transform;
Das resultierende Anzeigeobjekt, myNewDisplayObj
, besitzt jetzt für seine Matrix, Farbtransformation und Pixelbegrenzungen dieselben Werte wie das alte Anzeigeobjekt, myOldDisplayObj
.
Beachten Sie, dass Geräte mit AIR für TV für Farbtransformierungen automatisch die Hardwarebeschleunigung verwenden, sofern verfügbar.
Implementierung
public function get transform():flash.geom:Transform
public function set transform(value:flash.geom:Transform):void
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
square
-Sprite-Objekt ein. Wenn Benutzer auf das Sprite klicken, passt die transformer()
-Methode die Eigenschaften colorTransform
and matrix
der transform
-Eigenschaft des Sprites an:
import flash.display.Sprite; import flash.geom.ColorTransform; import flash.geom.Matrix; import flash.geom.Transform; import flash.events.MouseEvent; var square:Sprite = new Sprite(); square.graphics.lineStyle(20, 0xFF2200); square.graphics.beginFill(0x0000DD); square.graphics.drawRect(0, 0, 100, 100); addChild(square); var resultColorTransform:ColorTransform = new ColorTransform(); resultColorTransform.alphaMultiplier = 0.5; resultColorTransform.redOffset = 155; resultColorTransform.greenMultiplier = 0.5; var skewMatrix:Matrix = new Matrix(1, 1, 0, 1); square.addEventListener(MouseEvent.CLICK, transformer); function transformer(event:MouseEvent):void { var transformation:Transform = square.transform; var tempMatrix:Matrix = square.transform.matrix; tempMatrix.concat(skewMatrix); square.transform.colorTransform = resultColorTransform; square.transform.matrix = tempMatrix; }
visible | Eigenschaft |
visible:Boolean
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gibt an, ob das Anzeigeobjekt sichtbar ist oder nicht. Nicht sichtbare Anzeigeobjekte sind deaktiviert. Wenn beispielsweise für eine InteractiveObject-Instanz visible=false
gesetzt ist, können Benutzer nicht auf diese Instanz klicken.
Implementierung
public function get visible():Boolean
public function set visible(value:Boolean):void
Beispiel ( Verwendung dieses Beispiels )
visible
-Eigenschaft eines Anzeigeobjekts regelmäßig ändert, was zu einem Blinkeffekt führt:
import flash.text.TextField; import flash.utils.Timer; import flash.events.TimerEvent; var tf:TextField = new TextField(); tf.text = "Hello."; addChild(tf); var tim:Timer = new Timer(250); tim.start(); tim.addEventListener(TimerEvent.TIMER, blinker); function blinker(event:TimerEvent):void { tf.visible = !tf.visible; }
width | Eigenschaft |
width:Number
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gibt die Breite des Anzeigeobjekts in Pixeln an. Die Breite wird auf Basis der Begrenzungen des Inhalts des Anzeigeobjekts berechnet. Wenn Sie die Eigenschaft width
festsetzen, wird die Eigenschaft scaleX
entsprechend angepasst, wie im folgenden Code gezeigt.
var rect:Shape = new Shape(); rect.graphics.beginFill(0xFF0000); rect.graphics.drawRect(0, 0, 100, 100); trace(rect.scaleX) // 1; rect.width = 200; trace(rect.scaleX) // 2;
Abgesehen von TextField- und Video-Objekten, hat ein Anzeigeobjekt ohne Inhalt (z. B. ein leeres Sprite) eine Breite von 0, selbst wenn Sie versuchen, width
auf einen anderen Wert zu setzen.
Implementierung
public function get width():Number
public function set width(value:Number):void
Beispiel ( Verwendung dieses Beispiels )
square
-Sprite-Objekt ein. Wenn Benutzer auf das Sprite klicken, erhöht die widen()
-Methode die width
-Eigenschaft des Sprites:
import flash.display.Sprite; import flash.events.MouseEvent; var square:Sprite = new Sprite(); square.graphics.beginFill(0xFF0000); square.graphics.drawRect(0, 0, 100, 100); addChild(square); square.addEventListener(MouseEvent.CLICK, widen); function widen(event:MouseEvent):void { square.width += 10; }
x | Eigenschaft |
x:Number
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gibt die x-Koordinate der DisplayObject-Instanz relativ zu den lokalen Koordinaten des übergeordneten DisplayObjectContainer-Objekts an. Befindet sich das Objekt innerhalb eines transformierten DisplayObjectContainer-Objekts, liegt es im lokalen Koordinatensystem des umgebenden DisplayObjectContainer-Objekts. Wenn also ein DisplayObjectContainer-Objekt um 90° nach links gedreht ist, erben die untergeordneten Objekte des DisplayObjectContainer-Objekts ein Koordinatensystem, das um 90° nach links gedreht ist. Die Koordinaten des Objekts beziehen sich auf die Position des Registrierungspunkts.
Implementierung
public function get x():Number
public function set x(value:Number):void
Beispiel ( Verwendung dieses Beispiels )
circle
-Sprite-Objekt. Ein Timer-Objekt wird verwendet, um die x
-Eigenschaft des Sprites alle 50 Millisekunden zu ändern:
import flash.display.Sprite; import flash.utils.Timer; import flash.events.TimerEvent; var circle:Sprite = new Sprite(); circle.graphics.beginFill(0xFF0000); circle.graphics.drawCircle(100, 100, 100); addChild(circle); var tim:Timer = new Timer(50); tim.start(); tim.addEventListener(TimerEvent.TIMER, bounce); var xInc:Number = 2; function bounce(event:TimerEvent):void { circle.x += xInc; if (circle.x > circle.width) { xInc = -2; } if (circle.x < 0) { xInc = 2; } }
y | Eigenschaft |
y:Number
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gibt die y-Koordinate der DisplayObject-Instanz relativ zu den lokalen Koordinaten des übergeordneten DisplayObjectContainer-Objekts an. Befindet sich das Objekt innerhalb eines transformierten DisplayObjectContainer-Objekts, liegt es im lokalen Koordinatensystem des umgebenden DisplayObjectContainer-Objekts. Wenn also ein DisplayObjectContainer-Objekt um 90° nach links gedreht ist, erben die untergeordneten Objekte des DisplayObjectContainer-Objekts ein Koordinatensystem, das um 90° nach links gedreht ist. Die Koordinaten des Objekts beziehen sich auf die Position des Registrierungspunkts.
Implementierung
public function get y():Number
public function set y(value:Number):void
Beispiel ( Verwendung dieses Beispiels )
height
-Eigenschaft jeweils basierend auf der textHeight
-Eigenschaft an. Das zweite Textfeld wird angeordnet, indem seine y
-Eigenschaft festgelegt wird:
import flash.text.TextField; var tf1:TextField = new TextField(); tf1.text = "Text Field 1"; tf1.border = true; tf1.wordWrap = true; tf1.width = 40; tf1.height = tf1.textHeight + 5; addChild(tf1); var tf2:TextField = new TextField(); tf2.text = "Text Field 2"; tf2.border = true; tf2.wordWrap = true; tf2.width = 40; tf2.height = tf2.textHeight + 5; tf2.y = tf1.y + tf1.height + 5; addChild(tf2);
z | Eigenschaft |
z:Number
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5 |
Gibt die z-Koordinatenposition an der z-Achse der DisplayObject-Instanz relativ zum übergeordneten 3D-Container an. Die z-Eigenschaft wird für 3D-Koordinaten verwendet, nicht für Bildschirm- oder Pixelkoordinaten.
Wird die z
-Eigenschaft eines Anzeigeobjekts auf einen anderen Wert als den Standardwert 0
gesetzt, so wird automatisch das entsprechende Matrix3D-Objekt erstellt. Dient der Anpassung der Position und Ausrichtung eines Anzeigeobjekts in den drei Dimensionen. Beim Arbeiten mit der z-Achse ändert sich das bestehende Verhalten der x- und y-Eigenschaften von Bildschirm- oder Pixelkoordinaten auf Positionen relativ zum übergeordneten 3D-Container.
Beispiel: Ein untergeordnetes Element von _root
an der Position x = 100, y = 100, z = 200 wird nicht an der Pixelposition (100,100) gezeichnet. Das untergeordnete Element wird an jener Position gezeichnet, die von der 3D-Projektionskalkulation errechnet wird. Die Kalkulation lautet:
(x*cameraFocalLength/cameraRelativeZPosition, y*cameraFocalLength/cameraRelativeZPosition)
Implementierung
public function get z():Number
public function set z(value:Number):void
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
z
-Achse hin und zurück (abwärts und aufwärts) in Richtung Fluchtpunkt bewegen. Eine Ellipse ist so eingestellt, dass sie sich schneller bewegt.
package { import flash.display.MovieClip; import flash.display.Shape; import flash.display.Graphics; import flash.events.Event; import flash.geom.*; public class ZAxisExample1 extends MovieClip { private var ellipse1Back:int = 1; private var ellipse2Back:int = 1; private var depth:int = 1000; public function ZAxisExample1():void { var ellipse1 = drawEllipse((this.stage.stageWidth / 2) - 100, (this.stage.stageHeight / 2), 100, 80, 10); var ellipse2 = drawEllipse((this.stage.stageWidth / 2) + 100, (this.stage.stageHeight / 2), 100, 80, 300); this.addChild(ellipse1); this.addChild(ellipse2); ellipse1.addEventListener(Event.ENTER_FRAME, ellipse1FrameHandler); ellipse2.addEventListener(Event.ENTER_FRAME, ellipse2FrameHandler); } private function drawEllipse(x:Number, y:Number, w:Number, h:Number, z:Number):Shape { var s:Shape = new Shape(); s.z = z; s.graphics.beginFill(0xFF0000); s.graphics.lineStyle(2); s.graphics.drawEllipse(x, y, w, h); s.graphics.endFill(); return s; } private function ellipse1FrameHandler(e:Event):void { ellipse1Back = setDepth(e, ellipse1Back); e.currentTarget.z += ellipse1Back * 10; } private function ellipse2FrameHandler(e:Event):void { ellipse2Back = setDepth(e, ellipse2Back); e.currentTarget.z += ellipse2Back * 20; } private function setDepth(e:Event, d:int):int { if(e.currentTarget.z > depth) { e.currentTarget.z = depth; d = -1; }else if (e.currentTarget.z < 0) { e.currentTarget.z = 0; d = 1; } return d; } } }
getBounds | () | Methode |
public function getBounds(targetCoordinateSpace:DisplayObject):Rectangle
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gibt ein Rechteck zurück, das den Bereich des Anzeigeobjekts in Bezug auf das Koordinatensystem des targetCoordinateSpace
-Objekts definiert. Im folgenden Code wird gezeigt, wie das zurückgegebene Rechteck variieren kann, und zwar abhängig von dem Wert, den Sie im Parameter targetCoordinateSpace
an die Methode übergeben:
var container:Sprite = new Sprite(); container.x = 100; container.y = 100; this.addChild(container); var contents:Shape = new Shape(); contents.graphics.drawCircle(0,0,100); container.addChild(contents); trace(contents.getBounds(container)); // (x=-100, y=-100, w=200, h=200) trace(contents.getBounds(this)); // (x=0, y=0, w=200, h=200)
Hinweis: Mit den Methoden localToGlobal()
und globalToLocal()
können Sie die lokalen Koordinaten des Anzeigeobjekts in Anzeigekoordinaten bzw. Anzeigekoordinaten in lokale Koordinaten umwandeln.
Die getBounds()
-Methode ähnelt der getRect()
-Methode. Allerdings umfasst das Rechteck, das von der getBounds()
-Methode zurückgegeben wird, im Gegensatz zum von der getRect()
-Methode zurückgegebenen Rechteck auch Striche auf Formen. Ein Beispiel finden Sie in der Beschreibung der getRect()
-Methode.
Parameter
targetCoordinateSpace:DisplayObject — Das Anzeigeobjekt, das das zu verwendende Koordinatensystem definiert.
|
Rectangle — Das Rechteck, das den Bereich des Anzeigeobjekts in Bezug auf das Koordinatensystem des targetCoordinateSpace -Objekts definiert.
|
Verwandte API-Elemente
getRect | () | Methode |
public function getRect(targetCoordinateSpace:DisplayObject):Rectangle
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Gibt ein Rechteck zurück, das die Begrenzung des Anzeigeobjekts (ohne etwaige Striche oder Formen) definiert, und zwar aufgrund des vom Parameter targetCoordinateSpace
definierten Koordinatensystems. Die von der getRect()
-Methode zurückgegebenen Werte sind kleiner oder gleich den von der getBounds()
-Methode zurückgegebenen Werten.
Hinweis: Mit den Methoden localToGlobal()
und globalToLocal()
können Sie die lokalen Koordinaten des Anzeigeobjekts in Bühnenkoordinaten bzw. Bühnenkoordinaten in lokale Koordinaten umwandeln.
Parameter
targetCoordinateSpace:DisplayObject — Das Anzeigeobjekt, das das zu verwendende Koordinatensystem definiert.
|
Rectangle — Das Rechteck, das den Bereich des Anzeigeobjekts in Bezug auf das Koordinatensystem des targetCoordinateSpace -Objekts definiert.
|
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
getBounds()
-Methode ein größeres Rechteck als die getRect()
-Methode zurückgeben kann, da die Striche einen zusätzlichen Bereich einnehmen. In diesem Fall enthält das triangle
-Sprite zusätzliche Striche aufgrund der Werte der width
- und jointStyle
-Parameter der lineStyle()
-Methode. Die trace()
-Ausgabe (in den letzten beiden Zeilen) zeigt die Unterschiede zwischen den Rechtecken getRect()
und getBounds()
an:
import flash.display.CapsStyle; import flash.display.JointStyle; import flash.display.LineScaleMode; import flash.display.Sprite; import flash.geom.Rectangle; var triangle:Sprite = new Sprite(); var color:uint = 0xFF0044; var width:Number = 20; var alpha:Number = 1.0; var pixelHinting:Boolean = true; var scaleMode:String = LineScaleMode.NORMAL; var caps:String = CapsStyle.SQUARE; var joints:String = JointStyle.MITER; triangle.graphics.lineStyle(width, color, alpha, pixelHinting, scaleMode, caps, joints); var triangleSide:Number = 100; triangle.graphics.moveTo(0, 0); triangle.graphics.lineTo(0, triangleSide); triangle.graphics.lineTo(triangleSide, triangleSide); triangle.graphics.lineTo(0, 0); addChild(triangle); trace(triangle.getBounds(this)); // (x=-10, y=-24.1, w=134.10000000000002, h=134.1) trace(triangle.getRect(this)); // (x=0, y=0, w=100, h=100)
globalToLocal | () | Methode |
public function globalToLocal(point:Point):Point
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Konvertiert das point
-Objekt von den (globalen) Bühnenkoordinaten in die (lokalen) Koordinaten des Anzeigeobjekts.
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 globalToLocal()
-Methode. Die Methode gibt ein neues point-Objekt mit x- und y-Werten zurück, die sich auf den Ursprung des Anzeigeobjekts beziehen, anstatt auf den Ursprung der Bühne.
Parameter
point:Point — Ein mit der Point-Klasse erstelltes Objekt. Das point-Objekt gibt die x- und y-Koordinaten als Eigenschaften an.
|
Point — Ein point-Objekt, dessen Koordinaten sich auf das Anzeigeobjekt beziehen.
|
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
hitTestPoint()
-Methode an, indem verschiedene Punkte als Parameter verwendet werden. Die globalToLocal()
-Methode konvertiert die Bühnenkoordinaten für den Punkt in den Koordinatenraum der Form:
import flash.display.Shape; import flash.geom.Point; var circle:Shape = new Shape(); circle.graphics.beginFill(0x0000FF); circle.graphics.drawCircle(40, 40, 40); circle.x = 10; addChild(circle); var point1:Point = new Point(0, 0); trace(circle.hitTestPoint(point1.x, point1.y, true)); // false trace(circle.hitTestPoint(point1.x, point1.y, false)); // false trace(circle.globalToLocal(point1)); // [x=-10, y=0] var point2:Point = new Point(10, 1); trace(circle.hitTestPoint(point2.x, point2.y, true)); // false trace(circle.hitTestPoint(point2.x, point2.y, false)); // true trace(circle.globalToLocal(point2)); // [x=0, y=1] var point3:Point = new Point(30, 20); trace(circle.hitTestPoint(point3.x, point3.y, true)); // true trace(circle.hitTestPoint(point3.x, point3.y, false)); // true trace(circle.globalToLocal(point3)); // [x=20, y=20]
globalToLocal3D | () | Methode |
public function globalToLocal3D(point:Point):Vector3D
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Konvertiert einen zweidimensionale Punkt von den (globalen) Bühnenkoordinaten in die dreidimensionalen (lokalen) Koordinaten des Anzeigeobjekts.
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 point
-Parameter an die globalToLocal3D()
-Methode. Die Methode gibt dreidimensionale Koordinaten als Vector3D-Objekt zurück, das die x
-, y
- und z
-Werte enthält, die sich auf den Ursprung des dreidimensionalen Anzeigeobjekts beziehen.
Parameter
point:Point — Ein zweidimensionales Point-Objekt, das globale x- und y-Koordinaten darstellt.
|
Vector3D — Ein Vector3D-Objekt, dessen Koordinaten sich auf das dreidimensionale Anzeigeobjekt beziehen.
|
hitTestObject | () | Methode |
public function hitTestObject(obj:DisplayObject):Boolean
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Untersucht den Begrenzungsrahmen des Anzeigeobjekts, um festzustellen, ob er sich mit dem Begrenzungsrahmen des obj
-Anzeigeobjekts überschneidet.
Parameter
obj:DisplayObject — Das zu vergleichende Anzeigeobjekt.
|
Boolean — Hat den Wert true , wenn sich die Begrenzungsrahmen der Anzeigeobjekte überschneiden, und den Wert false , wenn sie sich nicht überschneiden.
|
Beispiel ( Verwendung dieses Beispiels )
hitTestObject()
-Methode an. Beachten Sie: Obwohl sich „circle2“ und „circle3“ selbst nicht überschneiden, überschneiden sich die Begrenzungsrahmen der Objekte doch. Deshalb gibt der Test von „circle2“ und „circle3“ den Wert true
zurück.
import flash.display.Shape; var circle1:Shape = new Shape(); circle1.graphics.beginFill(0x0000FF); circle1.graphics.drawCircle(40, 40, 40); addChild(circle1); var circle2:Shape = new Shape(); circle2.graphics.beginFill(0x00FF00); circle2.graphics.drawCircle(40, 40, 40); circle2.x = 50; addChild(circle2); var circle3:Shape = new Shape(); circle3.graphics.beginFill(0xFF0000); circle3.graphics.drawCircle(40, 40, 40); circle3.x = 100; circle3.y = 67; addChild(circle3); trace(circle1.hitTestObject(circle2)); // true trace(circle1.hitTestObject(circle3)); // false trace(circle2.hitTestObject(circle3)); // true
hitTestPoint | () | Methode |
public function hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wertet das Anzeigeobjekt aus, um festzustellen, ob es den durch die Parameter x
und y
festgelegten Punkt überdeckt oder schneidet. Die Parameter x
und y
legen einen Punkt im Koordinatenraum der Bühne fest, nicht den Anzeigeobjekt-Container, der das Anzeigeobjekt enthält (es sei denn, bei dem Anzeigeobjekt-Container handelt es sich um die Bühne).
Parameter
x:Number — Die x-Koordinate, mit der die x-Koordinate dieses Objekts verglichen werden soll.
| |
y:Number — Die y-Koordinate, mit der die y-Koordinate dieses Objekts verglichen werden soll.
| |
shapeFlag:Boolean (default = false ) — Bestimmt, ob mit den Pixeln des Objekts (true ) oder der Begrenzungsbox (false ) verglichen werden soll.
|
Boolean — true , wenn das Anzeigeobjekt den angegebenen Punkt überdeckt oder schneidet, andernfalls false .
|
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
hitTestPoint()
-Methode an, indem verschiedene Punkte als Parameter verwendet werden. Die globalToLocal()
-Methode konvertiert die Bühnenkoordinaten für den Punkt in den Koordinatenraum der Form:
import flash.display.Shape; import flash.geom.Point; var circle:Shape = new Shape(); circle.graphics.beginFill(0x0000FF); circle.graphics.drawCircle(40, 40, 40); circle.x = 10; addChild(circle); var point1:Point = new Point(0, 0); trace(circle.hitTestPoint(point1.x, point1.y, true)); // false trace(circle.hitTestPoint(point1.x, point1.y, false)); // false trace(circle.globalToLocal(point1)); // [x=-10, y=0] var point2:Point = new Point(10, 1); trace(circle.hitTestPoint(point2.x, point2.y, true)); // false trace(circle.hitTestPoint(point2.x, point2.y, false)); // true trace(circle.globalToLocal(point2)); // [x=0, y=1] var point3:Point = new Point(30, 20); trace(circle.hitTestPoint(point3.x, point3.y, true)); // true trace(circle.hitTestPoint(point3.x, point3.y, false)); // true trace(circle.globalToLocal(point3)); // [x=20, y=20]
local3DToGlobal | () | Methode |
public function local3DToGlobal(point3d:Vector3D):Point
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Konvertiert einen dreidimensionalen Punkt der dreidimensionalen (lokalen) Koordinaten des Anzeigeobjekts in einen zweidimensionalen Punkt der (globalen) Bühnenkoordinaten.
Sie können beispielsweise für das Zeichnen mit den display.Graphics
-Methoden nur zweidimensionale Koordinaten (x,y) verwenden. Zum Zeichnen eines dreidimensionalen Objekts müssen Sie die dreidimensionalen Koordinaten eines Anzeigeobjekts zweidimensionalen Koordinaten zuordnen. Erstellen Sie zunächst eine Instanz der Vector3D-Klasse, die die x-, y- und z-Koordinate des dreidimensionalen Anzeigeobjekts enthält. Übergeben Sie dann das Vector3D-Objekt als point3d
-Parameter an die local3DToGlobal()
-Methode. Die Methode gibt ein zweidimensionales Point-Objekt zurück, das mit der Grafik-API zum Zeichnen des dreidimensionalen Objekts verwendet werden kann.
Parameter
point3d:Vector3D — Ein Vector3D-Objekt, das entweder einen dreidimensionalen Punkt oder die Koordinaten eines dreidimensionalen Anzeigeobjekts enthält.
|
Point — Ein zweidimensionaler Punkt, der einen dreidimensionalen Punkt im zweidimensionalen Raum darstellt.
|
Beispiel ( Verwendung dieses Beispiels )
display.Graphics
-Methoden ein einfacher dreidimensionaler Würfel in einem zweidimensionalen Raum gezeichnet. Die Position des this
-Anzeigeobjekts ist versetzt, sodass sich der Registrierungspunkt des Würfels in seiner Mitte befindet. Ein Vektor der Vector3D-Klasse enthält die dreidimensionalen Koordinaten des Würfels. Zuerst wird der obere Teil des Würfels gezeichnet, dann der untere, und danach werden die vier Ecken oben und unten verbunden. Damit Sie die local3DToGlobal()
-Methode verwenden können, müssen Sie den Würfel vor dem Zeichnen dem Anzeigeobjektcontainer hinzufügen.
package { import flash.display.MovieClip; import flash.display.Sprite; import flash.display.Graphics; import flash.geom.*; public class Local3DToGlobalExample extends MovieClip { private var myCube:Sprite = new Sprite(); private var v8:Vector.<Vector3D> = new Vector.<Vector3D>(8); public function Local3DToGlobalExample():void { this.x = -(this.stage.stageWidth / 2); this.y = -(this.stage.stageWidth / 2); v8[0] = new Vector3D(-40,-40,-40); v8[1] = new Vector3D(40,-40,-40); v8[2] = new Vector3D(40,-40,40); v8[3] = new Vector3D(-40,-40,40); v8[4] = new Vector3D(-40,100,-40); v8[5] = new Vector3D(40,100,-40); v8[6] = new Vector3D(40,100,40); v8[7] = new Vector3D(-40,100,40); myCube.x = (this.stage.stageWidth / 2); myCube.y = (this.stage.stageWidth / 2); myCube.z = 1; addChild(myCube); Cube(); } private function Cube():void { var ps:Point = new Point(0,0); myCube.graphics.lineStyle(2,0xFF0000); ps = myCube.local3DToGlobal(v8[0]); myCube.graphics.moveTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[1]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[2]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[3]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[0]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[4]); myCube.graphics.moveTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[5]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[6]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[7]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[4]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[0]); myCube.graphics.moveTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[4]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[1]); myCube.graphics.moveTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[5]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[2]); myCube.graphics.moveTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[6]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[3]); myCube.graphics.moveTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[7]); myCube.graphics.lineTo(ps.x, ps.y); } } }
localToGlobal | () | Methode |
public function localToGlobal(point:Point):Point
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Konvertiert das point
-Objekt von den (lokalen) Koordinaten des Anzeigeobjekts in die (globalen) Bühnenkoordinaten.
Mit dieser Methode können Sie beliebige x- und y-Koordinaten von Werten, die sich auf den Ursprung (0,0) eines bestimmten Anzeigeobjekts beziehen (lokale Koordinaten), in Werte umwandeln, die sich auf den Ursprung 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 localToGlobal()
-Methode. Die Methode gibt ein neues point-Objekt mit x- und y-Werten zurück, die sich auf den Ursprung der Bühne beziehen, anstatt auf den Ursprung des Anzeigeobjekts.
Parameter
point:Point — Der Name oder Bezeichner eines Punkts, der mit der Point-Klasse erstellt wurde und die x- und y-Koordinaten als Eigenschaften angibt.
|
Point — Ein point-Objekt, dessen Koordinaten sich auf die Bühne beziehen.
|
Verwandte API-Elemente
Beispiel ( Verwendung dieses Beispiels )
mouseX
und mouseY
des Sprites befinden sich im Koordinatenraum des Anzeigeobjekts. Dieser Code verwendet die localToGlobal()
-Methode, um diese Eigenschaften in die globalen Koordinaten (für die Bühne) zu konvertieren:
import flash.display.Sprite; import flash.events.MouseEvent; import flash.geom.Point; var square:Sprite = new Sprite(); square.graphics.beginFill(0xFFCC00); square.graphics.drawRect(0, 0, 100, 100); square.x = 100; square.y = 200; addChild(square); square.addEventListener(MouseEvent.CLICK, traceCoordinates) function traceCoordinates(event:MouseEvent):void { var clickPoint:Point = new Point(square.mouseX, square.mouseY); trace("display object coordinates:", clickPoint); trace("stage coordinates:", square.localToGlobal(clickPoint)); }
added | Ereignis |
flash.events.Event
Eigenschaft Event.type =
flash.events.Event.ADDED
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wird ausgelöst, wenn ein Objekt der Anzeigeliste hinzugefügt wird. Die folgenden Methoden lösen dieses Ereignis aus: DisplayObjectContainer.addChild()
, DisplayObjectContainer.addChildAt()
.
Event.ADDED
-Konstante definiert den Wert der type
-Eigenschaft eines added
-Ereignisobjekts.
Dieses Ereignis verfügt über die folgenden Eigenschaften:
Eigenschaft | Wert |
---|---|
bubbles | true |
cancelable | false . Es gibt kein Standardverhalten, das abgebrochen werden kann. |
currentTarget | Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. |
target | Die DisplayObject-Instanz, die in die Anzeigeliste aufgenommen wird. Das unter target angegebene Ziel ist nicht immer das Objekt in der Anzeigeliste, in der der Ereignis-Listener registriert wurde. Mit der Eigenschaft currentTarget können Sie auf das Objekt in der Anzeigeliste zugreifen, das das Ereignis derzeit verarbeitet. |
Verwandte API-Elemente
addedToStage | Ereignis |
flash.events.Event
Eigenschaft Event.type =
flash.events.Event.ADDED_TO_STAGE
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9.0.28.0, Flash Lite 4 |
Wird ausgelöst, wenn ein Anzeigeobjekt der Anzeigeliste für die Bühne hinzugefügt wird. Dies erfolgt entweder direkt oder über das Hinzufügen einer Unterstruktur, die das Anzeigeobjekt enthält. Die folgenden Methoden lösen dieses Ereignis aus: DisplayObjectContainer.addChild()
, DisplayObjectContainer.addChildAt()
.
Event.ADDED_TO_STAGE
-Konstante definiert den Wert der type
-Eigenschaft eines addedToStage
-Ereignisobjekts.
Dieses Ereignis verfügt über die folgenden Eigenschaften:
Eigenschaft | Wert |
---|---|
bubbles | false |
cancelable | false . Es gibt kein Standardverhalten, das abgebrochen werden kann. |
currentTarget | Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. |
target | Die DisplayObject-Instanz, die der Anzeigeliste für die Bühne hinzugefügt wird. Dies erfolgt entweder direkt oder über das Hinzufügen einer Unterstruktur, die die DisplayObject-Instanz enthält. Wenn die DisplayObject-Instanz direkt hinzugefügt wird, findet das added -Ereignis vor diesem Ereignis statt. |
Verwandte API-Elemente
enterFrame | Ereignis |
flash.events.Event
Eigenschaft Event.type =
flash.events.Event.ENTER_FRAME
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
[broadcast event] Wird ausgelöst, wenn der Abspielkopf ein neues Bild erreicht. Wenn sich der Abspielkopf gerade nicht bewegt oder wenn es nur ein einziges Bild gibt, wird dieses Ereignis kontinuierlich ausgelöst, und zwar zusammen mit der Bildrate. Bei diesem Ereignis handelt es sich um ein broadcast-Ereignis. Das bedeutet, dass es von allen Anzeigeobjekten ausgelöst wird, die einen Listener für dieses Ereignis registriert haben.
DieEvent.ENTER_FRAME
-Konstante definiert den Wert der type
-Eigenschaft eines enterFrame
-Ereignisobjekts.
Hinweis: Dieses Ereignis verfügt weder über eine Aufnahmephase noch über eine Bubbling-Phase. Das bedeutet, dass Ereignis-Listener potenziellen Zielen direkt hinzugefügt werden müssen, unabhängig davon, ob sich das Ziel in der Anzeigeliste befindet oder nicht.
Dieses Ereignis verfügt über die folgenden Eigenschaften:
Eigenschaft | Wert |
---|---|
bubbles | false |
cancelable | false . Es gibt kein Standardverhalten, das abgebrochen werden kann. |
currentTarget | Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. |
target | Jede DisplayObject-Instanz, die einen Listener besitzt, der für das enterFrame -Ereignis registriert ist. |
exitFrame | Ereignis |
flash.events.Event
Eigenschaft Event.type =
flash.events.Event.EXIT_FRAME
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 2, Flash Lite 4 |
[broadcast event] Wird ausgelöst, wenn der Abspielkopf das aktuelle Bild verlässt. Alle Bildskripten wurden ausgeführt. Wenn sich der Abspielkopf gerade nicht bewegt oder wenn es nur ein einziges Bild gibt, wird dieses Ereignis kontinuierlich ausgelöst, und zwar zusammen mit der Bildrate. Bei diesem Ereignis handelt es sich um ein broadcast-Ereignis. Das bedeutet, dass es von allen Anzeigeobjekten ausgelöst wird, die einen Listener für dieses Ereignis registriert haben.
DieEvent.EXIT_FRAME
-Konstante definiert den Wert der type
-Eigenschaft eines exitFrame
-Ereignisobjekts.
Hinweis: Dieses Ereignis verfügt weder über eine Aufnahmephase noch über eine Bubbling-Phase. Das bedeutet, dass Ereignis-Listener potenziellen Zielen direkt hinzugefügt werden müssen, unabhängig davon, ob sich das Ziel in der Anzeigeliste befindet oder nicht.
Dieses Ereignis verfügt über die folgenden Eigenschaften:
Eigenschaft | Wert |
---|---|
bubbles | false |
cancelable | false . Es gibt kein Standardverhalten, das abgebrochen werden kann. |
currentTarget | Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. |
target | Jede DisplayObject-Instanz, die einen Listener besitzt, der für das enterFrame -Ereignis registriert ist. |
frameConstructed | Ereignis |
flash.events.Event
Eigenschaft Event.type =
flash.events.Event.FRAME_CONSTRUCTED
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | Flash Player 10, AIR 2, Flash Lite 4 |
[broadcast event] Wird ausgelöst, nachdem die Konstruktoren von Bildanzeigeobjekten ausgeführt wurden, bevor Bildskripten ausgeführt wurden. Wenn sich der Abspielkopf gerade nicht bewegt oder wenn es nur ein einziges Bild gibt, wird dieses Ereignis kontinuierlich ausgelöst, und zwar zusammen mit der Bildrate. Bei diesem Ereignis handelt es sich um ein broadcast-Ereignis. Das bedeutet, dass es von allen Anzeigeobjekten ausgelöst wird, die einen Listener für dieses Ereignis registriert haben.
DieEvent.FRAME_CONSTRUCTED
-Konstante definiert den Wert der type
-Eigenschaft eines frameConstructed
-Ereignisobjekts.
Hinweis: Dieses Ereignis verfügt weder über eine Aufnahmephase noch über eine Bubbling-Phase. Das bedeutet, dass Ereignis-Listener potenziellen Zielen direkt hinzugefügt werden müssen, unabhängig davon, ob sich das Ziel in der Anzeigeliste befindet oder nicht.
Dieses Ereignis verfügt über die folgenden Eigenschaften:
Eigenschaft | Wert |
---|---|
bubbles | false |
cancelable | false . Es gibt kein Standardverhalten, das abgebrochen werden kann. |
currentTarget | Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. |
target | Jede DisplayObject-Instanz, die einen Listener besitzt, der für das frameConstructed -Ereignis registriert ist. |
removed | Ereignis |
flash.events.Event
Eigenschaft Event.type =
flash.events.Event.REMOVED
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Wird ausgelöst, wenn ein Objekt aus der Anzeigeliste entfernt werden soll. Zwei Methoden aus der DisplayObjectContainer-Klasse erzeugen dieses Ereignis: removeChild()
und removeChildAt()
.
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: addChild()
, addChildAt()
und setChildIndex()
.
Event.REMOVED
-Konstante definiert den Wert der type
-Eigenschaft eines removed
-Ereignisobjekts.
Dieses Ereignis verfügt über die folgenden Eigenschaften:
Eigenschaft | Wert |
---|---|
bubbles | true |
cancelable | false . Es gibt kein Standardverhalten, das abgebrochen werden kann. |
currentTarget | Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. |
target | Die DisplayObject-Instanz, die aus der Anzeigeliste entfernt werden soll. Das unter target angegebene Ziel ist nicht immer das Objekt in der Anzeigeliste, in der der Ereignis-Listener registriert wurde. Mit der Eigenschaft currentTarget können Sie auf das Objekt in der Anzeigeliste zugreifen, das das Ereignis derzeit verarbeitet. |
removedFromStage | Ereignis |
flash.events.Event
Eigenschaft Event.type =
flash.events.Event.REMOVED_FROM_STAGE
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9.0.28.0, Flash Lite 4 |
Wird ausgelöst, wenn ein Anzeigeobjekt aus der Anzeigeliste entfernt werden soll. Dies erfolgt entweder direkt oder über das Entfernen einer Unterstruktur, die das Anzeigeobjekt enthält. Zwei Methoden aus der DisplayObjectContainer-Klasse erzeugen dieses Ereignis: removeChild()
und removeChildAt()
.
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: addChild()
, addChildAt()
und setChildIndex()
.
Event.REMOVED_FROM_STAGE
-Konstante definiert den Wert der type
-Eigenschaft eines removedFromStage
-Ereignisobjekts.
Dieses Ereignis verfügt über die folgenden Eigenschaften:
Eigenschaft | Wert |
---|---|
bubbles | false |
cancelable | false . Es gibt kein Standardverhalten, das abgebrochen werden kann. |
currentTarget | Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. |
target | Die DisplayObject-Instanz, die aus der Anzeigeliste für die Bühne entfernt wird. Dies erfolgt entweder direkt oder über das Entfernen einer Unterstruktur, die die DisplayObject-Instanz enthält. Wenn die DisplayObject-Instanz direkt entfernt wird, findet das removed -Ereignis vor diesem Ereignis statt. |
render | Ereignis |
flash.events.Event
Eigenschaft Event.type =
flash.events.Event.RENDER
Sprachversion: | ActionScript 3.0 |
Laufzeitversionen: | AIR 1.0, Flash Player 9, Flash Lite 4 |
[broadcast event] Wird ausgelöst, wenn die Anzeigeliste kurz davor steht, aktualisiert und neu gezeichnet zu werden. Dieses Ereignis bietet für Objekte, die auf dieses Ereignis warten, die letzte Möglichkeit zum Vornehmen von Änderungen, bevor die Anzeigeliste neu gezeichnet (gerendert) wird. Sie müssen die invalidate()
-Methode des Stage-Objekts jedes Mal aufrufen, wenn ein render
-Ereignis ausgelöst werden soll. Render
-Ereignisse werden für ein Objekt nur ausgelöst, wenn ein gegenseitiges Vertrauensverhältnis zwischen diesem Objekt und dem Objekt besteht, das Stage.invalidate()
aufgerufen hat. Bei diesem Ereignis handelt es sich um ein broadcast-Ereignis. Das bedeutet, dass es von allen Anzeigeobjekten ausgelöst wird, die einen Listener für dieses Ereignis registriert haben.
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.
DieEvent.RENDER
-Konstante definiert den Wert der type
-Eigenschaft eines render
-Ereignisobjekts.
Hinweis: Dieses Ereignis verfügt weder über eine Aufnahmephase noch über eine Bubbling-Phase. Das bedeutet, dass Ereignis-Listener potenziellen Zielen direkt hinzugefügt werden müssen, unabhängig davon, ob sich das Ziel in der Anzeigeliste befindet oder nicht.
Dieses Ereignis verfügt über die folgenden Eigenschaften:
Eigenschaft | Wert |
---|---|
bubbles | false |
cancelable | false . Das Standardverhalten kann nicht abgebrochen werden. |
currentTarget | Das Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet. |
target | Jede DisplayObject-Instanz, die einen Listener besitzt, der für das render -Ereignis registriert ist. |
DisplayObjectExample
verwendet, um in einer Ecke der Bühne ein orangefarbenes Quadrat zu zeichnen und dann auf Ereignisse zu reagieren, indem für die einzelnen Ereignisse Textinformationen angezeigt werden. Dies wird in den folgenden Schritten erreicht:
- Für die Farbe und Größe des Quadrats werden Klasseneigenschaften deklariert.
- Der Konstruktor ruft die
draw()
-Methode auf, die auf der Bühne an der Standardposition mit den Koordinaten x = 0, y = 0 ein orangefarbenes Quadrat zeichnet. - Dem Quadrat sind die folgenden Ereignis-Listener-Methoden zugeordnet:
addedHandler()
: Listener füradded
-Ereignisse, die ausgelöst werden, wenn das Quadrat der Anzeigeliste hinzugefügt wird.enterFrameHandler()
: Listener fürenterFrame
-Ereignisse, die in diesem Beispiel keine besondere Bedeutung haben.removedHandler()
: Listener fürremoved
-Ereignisse, die ausgelöst werden, wenn das Quadrat aus der Anzeigeliste entfernt wird. Dies ist der Fall, wenn Benutzer auf das Quadrat klicken.clickHandler()
: Listener fürclick
-Ereignisse, die ausgelöst werden, wenn Benutzer auf das orangefarbene Quadrat klicken.renderHandler()
: Listener fürrender
-Ereignisse, die ausgelöst werden, nachdem die Anzeigeliste aktualisiert wurde.
package { import flash.display.Sprite; public class DisplayObjectExample extends Sprite { public function DisplayObjectExample() { var child:CustomDisplayObject = new CustomDisplayObject(); addChild(child); } } } import flash.display.DisplayObject; import flash.display.Sprite; import flash.display.Stage; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.*; class CustomDisplayObject extends Sprite { private var bgColor:uint = 0xFFCC00; private var size:uint = 80; public function CustomDisplayObject() { draw(); addEventListener(Event.ADDED, addedHandler); addEventListener(Event.ENTER_FRAME, enterFrameHandler); addEventListener(Event.REMOVED, removedHandler); addEventListener(MouseEvent.CLICK, clickHandler); addEventListener(Event.RENDER, renderHandler); } private function draw():void { graphics.beginFill(bgColor); graphics.drawRect(0, 0, size, size); graphics.endFill(); } private function clickHandler(event:MouseEvent):void { trace("clickHandler: " + event); parent.removeChild(this); } private function addedHandler(event:Event):void { trace("addedHandler: " + event); stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; stage.addEventListener("resize", resizeHandler); } private function enterFrameHandler(event:Event):void { trace("enterFrameHandler: " + event); removeEventListener("enterFrame", enterFrameHandler); } private function removedHandler(event:Event):void { trace("removedHandler: " + event); stage.removeEventListener("resize", resizeHandler); } private function renderHandler(event:Event):void { trace("renderHandler: " + event); } private function resizeHandler(event:Event):void { trace("resizeHandler: " + event); } }
Tue Jun 12 2018, 10:04 AM Z