Paketflash.display
Klassepublic class DisplayObject
VererbungDisplayObject Inheritance EventDispatcher Inheritance Object
Implementiert IBitmapDrawable
Unterklassen AVM1Movie, Bitmap, InteractiveObject, MorphShape, Shape, StaticText, Video

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Die DisplayObject-Klasse ist die Basisklasse für alle Objekte, die in die Anzeigeliste eingefügt werden können. Die Anzeigeliste verwaltet alle Objekte, die in Flash Player angezeigt werden. Um die Anzeigeobjekte innerhalb der Anzeigeliste anzuordnen, verwenden Sie die DisplayObjectContainer-Klasse. DisplayObjectContainer-Objekte können untergeordnete Anzeigeobjekte besitzen, während andere Anzeigeobjekte, wie die Objekte "Shape" oder "TextField", Endknoten sind, die nur übergeordnete und Parallelobjekte besitzen, aber keine untergeordneten Objekte.

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

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 Handbuchs Programmieren mit ActionScript 3.0.

Beispiele anzeigen

Siehe auch

flash.display.DisplayObjectContainer
Hauptanzeigeklassen
Eigenschaften und Methoden der DisplayObject-Klasse
Beispiel: Anwenden einer Matrixtransformation auf ein Anzeigeobjekt


Öffentliche Eigenschaften
 EigenschaftDefiniert von
  accessibilityProperties : AccessibilityProperties
Die aktuellen Eingabehilfenoptionen für dieses Anzeigeobjekt.
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
  cacheAsBitmap : Boolean
Wird diese Eigenschaft auf "true" gesetzt, speichert Flash Player eine interne Bitmap-Darstellung des Anzeigeobjekts im Cache.
DisplayObject
 Inheritedconstructor : 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 Pixel an.
DisplayObject
  loaderInfo : LoaderInfo
[read-only] 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
  mouseX : Number
[read-only] Gibt die x-Koordinate der Mausposition in Pixel an.
DisplayObject
  mouseY : Number
[read-only] Gibt die y-Koordinate der Mausposition in Pixel 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
[read-only] Gibt das DisplayObjectContainer-Objekt an, das dieses Anzeigeobjekt enthält.
DisplayObject
 Inheritedprototype : Object
[static] Ein Verweis auf das Prototypobjekt einer Klasse oder eines Funktionsobjekts.
Object
  root : DisplayObject
[read-only] 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
  scale9Grid : Rectangle
Das aktuell verwendete Skalierungsraster.
DisplayObject
  scaleX : Number
Gibt die horizontale Skalierung (percentage) des Objekts ausgehend vom Registrierungspunkt an.
DisplayObject
  scaleY : Number
Gibt die vertikale Skalierung (percentage) eines Objekts ausgehend vom Registrierungspunkt an.
DisplayObject
  scrollRect : Rectangle
Die Begrenzungen des Bildlaufrechtecks für das Anzeigeobjekt.
DisplayObject
  stage : Stage
[read-only] Die Bühne des Anzeigeobjekts.
DisplayObject
  transform : 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 Pixel 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
Öffentliche Methoden
 MethodeDefiniert von
 Inherited
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
 Inherited
Sendet ein Ereignis in den Ereignisablauf.
EventDispatcher
  
getBounds(targetCoordinateSpace:DisplayObject):Rectangle
Gibt ein Rechteck zurück, das den Bereich des Anzeigeobjekts in Bezug auf das Koordinatensystem des targetCoordinateSpace-Objekts definiert.
DisplayObject
  
getRect(targetCoordinateSpace:DisplayObject):Rectangle
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
 Inherited
Überprüft, ob das EventDispatcher-Objekt Listener für einen bestimmten Ereignistyp registriert hat.
EventDispatcher
 Inherited
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
Object
  
Wertet das Anzeigeobjekt aus, um festzustellen, ob es das Anzeigeobjekt "obj" überdeckt oder schneidet.
DisplayObject
  
hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
Wertet das Anzeigeobjekt aus, um festzustellen, ob es den durch die Parameter "x" und "y" festgelegten Punkt überdeckt oder schneidet.
DisplayObject
 Inherited
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
Object
  
Konvertiert das point-Objekt von den (lokalen) Koordinaten des Anzeigeobjekts in die (globalen) Bühnenkoordinaten.
DisplayObject
 Inherited
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
Object
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Entfernt einen Listener aus dem EventDispatcher-Objekt.
EventDispatcher
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
 Inherited
Gibt das angegebene Objekt als String zurück.
Object
 Inherited
Gibt den Grundwert des angegebenen Objekts zurück.
Object
 Inherited
Überprüft, ob bei diesem EventDispatcher-Objekt oder bei einem seiner vorangegangenen Elementen ein Ereignis-Listener für einen bestimmten Ereignistyp registriert ist.
EventDispatcher
Ereignisse
 EreignisÜbersicht Definiert von
 Inherited Wird ausgelöst, wenn Flash Player 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
 Inherited Wird ausgelöst, wenn Flash Player den Betriebssystemfokus verliert und inaktiv wird.EventDispatcher
   Wird ausgelöst, wenn der Abspielkopf ein neues Bild erreicht.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
   Wird ausgelöst, wenn die Anzeigeliste aktualisiert und neu gezeichnet werden soll.DisplayObject
Eigenschaftsdetail
accessibilityPropertiesEigenschaft
accessibilityProperties:AccessibilityProperties  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Die aktuellen Eingabehilfenoptionen für dieses Anzeigeobjekt. 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

Siehe auch


Beispiel

Aus dem folgenden Beispiel geht hervor, wie Sie ein einfaches AccessibilityProperties-Objekt einer TextField-Instanz zuordnen:

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
alphaEigenschaft 
alpha:Number  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

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

Der folgende Code setzt die 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;
}
blendModeEigenschaft 
blendMode:String  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : 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, setzt der Flash Player den Wert auf BlendMode.NORMAL.

Flash Player weist jedem Pixel des Anzeigeobjekts die blendMode-Eigenschaft zu. Dabei wird jedes Pixel aus den drei Grundfarben (Rot, Grün und Blau) jeweils mit einem Farbwert zwischen 0x00 und 0xFF zusammengestellt. Flash Player vergleicht die Grundfarben eines Pixels im Movieclip mit der entsprechenden Farbe des Hintergrundpixels. Wenn blendMode beispielsweise auf BlendMode.LIGHTEN ("Aufhellen") gesetzt wird, vergleicht Flash Player den Rot-Wert des Anzeigeobjekts mit dem Rot-Wert des Objekts im Hintergrund und verwendet den Wert der helleren Farbe als Wert für die Rot-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-KonstanteAbbildungBeschreibung
BlendMode.NORMALDas 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.LAYERErzwingt 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.
BlendMode.MULTIPLYMultipliziert 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.SCREENMultipliziert 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.LIGHTENWä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).

BlendMode.DARKENWä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).

BlendMode.DIFFERENCEVergleicht 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.ADDAddiert 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.SUBTRACTSubtrahiert 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.INVERTKehrt den Hintergrund um.
BlendMode.ALPHAWendet 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.
BlendMode.ERASELö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.
BlendMode.OVERLAYPasst 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.
BlendMode.HARDLIGHTPasst 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.


Implementierung
    public function get blendMode():String
    public function set blendMode(value:String):void

Siehe auch


Beispiel

Der folgende Code erstellt zwei Sprite-Objekte, ein Quadrat und einen Kreis, und setzt den Mischmodus des Kreises (im Vordergrund) auf 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;
}
cacheAsBitmapEigenschaft 
cacheAsBitmap:Boolean  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Wird diese Eigenschaft auf true gesetzt, speichert Flash Player 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. Anschließend wird die Bitmap mit folgenden Eigenschaften in die Hauptanzeige kopiert: nicht gedehnt, nicht gedreht, Pixel rasten an den nächstgelegenen Pixelgrenzen ein. Die Pixel werden dem übergeordneten Objekt 1 zu 1 zugeordnet. Ändern sich die Grenzen der Bitmap, wird diese nicht gedehnt, sondern neu erstellt.

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

Siehe auch


Beispiel

Im folgenden Beispiel wird einer Shape-Instanz ein Schlagschatten hinzugefügt. Anschließend wird der Wert der 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
filtersEigenschaft 
filters:Array  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : 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 der Flash-Authoring-Umgebung 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):

  1. Erstellen Sie mithilfe der Konstruktormethode der gewählten Filterklasse ein neues filter-Objekt.
  2. Weisen Sie den Wert des myDisplayObject.filters-Arrays einem temporären Array zu, z. B. einem Array mit dem Namen myFilters.
  3. Fügen Sie das neue filter-Objekt dem temporären Array myFilters hinzu.
  4. 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:

  1. Weisen Sie den Wert des filters-Arrays einem temporären Array zu, z. B. einem Array mit dem Namen myFilters.
  2. Ä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;
  3. 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

Siehe auch

heightEigenschaft 
height:Number  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Gibt die Höhe des Anzeigeobjekts in Pixel 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

Der folgende Code erstellt zwei TextField-Objekte und passt die 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);
loaderInfoEigenschaft 
loaderInfo:LoaderInfo  [read-only]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

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

Siehe auch


Beispiel

Beim folgenden Code wird angenommen, dass this sich auf ein Anzeigeobjekt bezieht. Der Code gibt die URL der Stamm-SWF-Datei für das Anzeigeobjekt aus:
trace(this.loaderInfo.url);
 
maskEigenschaft 
mask:DisplayObject  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

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.


Implementierung
    public function get mask():DisplayObject
    public function set mask(value:DisplayObject):void

Beispiel

Der folgende Code erstellt ein TextField-Objekt und ein Sprite-Objekt, das als Maske für das TextField-Objekt eingerichtet wird. Wenn Benutzer auf das Textfeld klicken, ruft die 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();
}
mouseXEigenschaft 
mouseX:Number  [read-only]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Gibt die x-Koordinate der Mausposition in Pixel an.


Implementierung
    public function get mouseX():Number

Beispiel

Der folgende Code erstellt ein Sprite-Objekt und gibt die 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);
}
mouseYEigenschaft 
mouseY:Number  [read-only]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Gibt die y-Koordinate der Mausposition in Pixel an.


Implementierung
    public function get mouseY():Number

Beispiel

Der folgende Code erstellt ein Sprite-Objekt und gibt die 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);
}
nameEigenschaft 
name:String  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

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

Der folgende Code erstellt zwei Sprite-Objekte und gibt die dazugehörige 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);
}
opaqueBackgroundEigenschaft 
opaqueBackground:Object  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

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

Siehe auch


Beispiel

Der folgende Code erstellt ein Shape-Objekt mit einem blauen Kreis und setzt seine 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);
parentEigenschaft 
parent:DisplayObjectContainer  [read-only]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

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

Der folgende Code erstellt drei Sprite-Objekte und zeigt, wie die 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
rootEigenschaft 
root:DisplayObject  [read-only]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

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

Der folgende Code zeigt den Unterschied zwischen der 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]
}
rotationEigenschaft 
rotation:Number  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

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

Der folgende Code erstellt ein Sprite-Objekt und dreht das Objekt, wenn Benutzer darauf klicken:

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;
}
scale9GridEigenschaft 
scale9Grid:Rectangle  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

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:

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:

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 scale9Grid-Raster angezeigt.

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.

Siehe auch


Beispiel

Der folgende Code erstellt ein Shape-Objekt, für das in seiner 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;
    }
}
scaleXEigenschaft 
scaleX:Number  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Gibt die horizontale Skalierung (percentage) des Objekts ausgehend vom Registrierungspunkt an. Der Standardregistrierungspunkt liegt bei (0,0). 1,0 entspricht 100 % Skalierung.

Die Skalierung des lokalen Koordinatensystems wirkt sich auf die Einstellungen der Eigenschaften x und y aus, die in ganzen Pixeln angegeben werden.


Implementierung
    public function get scaleX():Number
    public function set scaleX(value:Number):void

Beispiel

Der folgende Code erstellt ein Sprite-Objekt, für das in seiner 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;
}
scaleYEigenschaft 
scaleY:Number  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Gibt die vertikale Skalierung (percentage) eines Objekts ausgehend vom Registrierungspunkt an. Der Standardregistrierungspunkt liegt bei (0,0). 1,0 entspricht 100 % Skalierung.

Die Skalierung des lokalen Koordinatensystems wirkt sich auf die Einstellungen der Eigenschaften x und y aus, die in ganzen Pixeln angegeben werden.


Implementierung
    public function get scaleY():Number
    public function set scaleY(value:Number):void

Beispiel

Der folgende Code erstellt ein Sprite-Objekt, für das in seiner 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;
}
scrollRectEigenschaft 
scrollRect:Rectangle  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : 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.


Implementierung
    public function get scrollRect():Rectangle
    public function set scrollRect(value:Rectangle):void

Siehe auch


Beispiel

Das folgende Beispiel zeigt, wie die 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;
}
stageEigenschaft 
stage:Stage  [read-only]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Die Bühne des Anzeigeobjekts. Eine Flash-Anwendung 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

Im folgenden Code werden zwei TextField-Objekte erstellt, und es wird die 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);
transformEigenschaft 
transform:Transform  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

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:Object = 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.


Implementierung
    public function get transform():Transform
    public function set transform(value:Transform):void

Siehe auch


Beispiel

Der folgende Code richtet ein 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;
}
visibleEigenschaft 
visible:Boolean  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

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

Der folgende Code verwendet ein Timer-Objekt, um eine Funktion aufzurufen, die die 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;
}
widthEigenschaft 
width:Number  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Gibt die Breite des Anzeigeobjekts in Pixel 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

Der folgende Code richtet ein 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;
}
xEigenschaft 
x:Number  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

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

Der folgende Code erstellt ein 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;
    }
}
yEigenschaft 
y:Number  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

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

Der folgende Code erstellt zwei TextField-Objekte und passt die 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);
Methodendetail
getBounds()Methode
public function getBounds(targetCoordinateSpace:DisplayObject):Rectangle

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

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.

Rückgabewerte
Rectangle — Das Rechteck, das den Bereich des Anzeigeobjekts in Bezug auf das Koordinatensystem des targetCoordinateSpace-Objekts definiert.

Siehe auch

getRect()Methode 
public function getRect(targetCoordinateSpace:DisplayObject):Rectangle

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

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.

Rückgabewerte
Rectangle — Das Rechteck, das den Bereich des Anzeigeobjekts in Bezug auf das Koordinatensystem des targetCoordinateSpace-Objekts definiert.

Siehe auch


Beispiel

Das folgende Beispiel zeigt, wie die 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, die als Parameter width und jointStyle der lineStyle()-Methode gelten. 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 lineWidth:Number = 20;
var lineAlpha: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(lineWidth, color, lineAlpha, 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.1, 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
Player-Version : Flash Player 9

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.

Rückgabewerte
Point — Ein point-Objekt, dessen Koordinaten sich auf das Anzeigeobjekt beziehen.

Siehe auch


Beispiel

Der folgende Code erstellt ein Shape-Objekt und zeigt das Ergebnis des Aufrufens der 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]
hitTestObject()Methode 
public function hitTestObject(obj:DisplayObject):Boolean

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Wertet das Anzeigeobjekt aus, um festzustellen, ob es das Anzeigeobjekt obj überdeckt oder schneidet.

Parameter

obj:DisplayObject — Das zu vergleichende Anzeigeobjekt.

Rückgabewerte
Booleantrue bedeutet, dass sich die Anzeigeobjekte überschneiden, und false bedeutet, dass sie sich nicht überschneiden.

Beispiel

Der folgende Code erstellt drei Shape-Objekte und zeigt das Ergebnis des Aufrufens der hitTestObject()-Methode an:

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
Player-Version : Flash Player 9

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.

Rückgabewerte
Booleantrue, wenn das Anzeigeobjekt den angegebenen Punkt überdeckt oder schneidet, andernfalls false.

Siehe auch


Beispiel

Der folgende Code erstellt ein Shape-Objekt und zeigt das Ergebnis des Aufrufens der 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]
localToGlobal()Methode 
public function localToGlobal(point:Point):Point

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

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 die obere linke Ecke eines bestimmten Anzeigeobjekts beziehen (lokale Koordinaten), in Werte umwandeln, die sich auf die obere linke Ecke der Bühne beziehen (globale Koordinaten).

Um diese Methode zu verwenden, erstellen Sie zuerst eine Instanz der Point-Klasse. Die x- und y-Werte, die Sie zuweisen, repräsentieren lokale Koordinaten, weil sie sich auf den Ursprung (0,0) des Anzeigeobjekts beziehen.

Dann übergeben Sie die Point-Instanz, die Sie erstellt haben, als Parameter an die 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.

Rückgabewerte
Point — Ein point-Objekt, dessen Koordinaten sich auf die Bühne beziehen.

Siehe auch


Beispiel

Der folgende Code erstellt ein Sprite-Objekt. Die Eigenschaften 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));
}
Ereignisdetail
added Ereignis
Ereignisobjekttyp: flash.events.Event
Event.type property = flash.events.Event.ADDED

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Wird ausgelöst, wenn ein Objekt der Anzeigeliste hinzugefügt wird. Die folgenden Methoden lösen dieses Ereignis aus: DisplayObjectContainer.addChild(), DisplayObjectContainer.addChildAt().

Definiert den Wert der Eigenschaft type eines added-Ereignisobjekts.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblestrue
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
targetDie 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.

Siehe auch

addedToStage Ereignis  
Ereignisobjekttyp: flash.events.Event
Event.type property = flash.events.Event.ADDED_TO_STAGE

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9.0.28.0

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

Definiert den Wert der Eigenschaft type eines addedToStage-Ereignisobjekts.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblesfalse
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
targetDie 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.

Siehe auch

enterFrame Ereignis  
Ereignisobjekttyp: flash.events.Event
Event.type property = flash.events.Event.ENTER_FRAME

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

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. Das Ereignis wird für alle Anzeigeobjekte, die auf dieses Ereignis warten, gleichzeitig ausgelöst.

Definiert den Wert der Eigenschaft type eines enterFrame-Ereignisobjekts.

Hinweis: Dieses Ereignis durchläuft keine "Aufnahmephase" und wird direkt an das Ziel gesendet – unabhängig davon, ob sich dieses auf der Anzeigeliste befindet.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblesfalse
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
targetJede DisplayObject-Instanz, die einen Listener besitzt, der für das ENTER_FRAME-Ereignis registriert worden ist.
removed Ereignis  
Ereignisobjekttyp: flash.events.Event
Event.type property = flash.events.Event.REMOVED

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

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

Definiert den Wert der Eigenschaft type eines removed-Ereignisobjekts.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblestrue
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
targetDie 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  
Ereignisobjekttyp: flash.events.Event
Event.type property = flash.events.Event.REMOVED_FROM_STAGE

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9.0.28.0

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

Definiert den Wert der Eigenschaft type eines removedFromStage-Ereignisobjekts.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblesfalse
cancelablefalse. Es gibt kein Standardverhalten, das abgebrochen werden kann.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
targetDie 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  
Ereignisobjekttyp: flash.events.Event
Event.type property = flash.events.Event.RENDER

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Wird ausgelöst, wenn die Anzeigeliste aktualisiert und neu gezeichnet werden soll. 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. Für Flash Player ist es das Standardverhalten, die Anzeigeliste zu zeichnen. Sie müssen die invalidate()-Methode des Stage-Objekts immer dann aufrufen, wenn Flash Player ein render-Ereignis senden 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.

Hinweis: Dieses Ereignis wird nicht ausgelöst, wenn das Flash Player-Fenster keine Neuzeichnung durchführt. Dies ist der Fall, wenn das Flash Player-Fenster minimiert ist oder verdeckt wurde.

Definiert den Wert der Eigenschaft type eines render-Ereignisobjekts.

Hinweis: Dieses Ereignis durchläuft keine "Aufnahmephase" und wird direkt an das Ziel gesendet – unabhängig davon, ob sich dieses auf der Anzeigeliste befindet.

Dieses Ereignis verfügt über die folgenden Eigenschaften:

EigenschaftWert
bubblesfalse
cancelablefalse. Das Standardverhalten kann nicht abgebrochen werden.
currentTargetDas Objekt, welches das Ereignisobjekt aktiv mit einem Ereignis-Listener verarbeitet.
targetJede DisplayObject-Instanz, die einen Listener besitzt, der für das RENDER-Ereignis registriert worden ist.
Beispiele Verwendung von Beispielen
DisplayObjectExample.as

Im folgenden Beispiel wird die Klasse 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:
  1. Für die Farbe und Größe des Quadrats werden Klasseneigenschaften deklariert.
  2. 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.
  3. Dem Quadrat sind die folgenden Ereignis-Listener-Methoden zugeordnet:
    • addedHandler(): Listener für added-Ereignisse, die ausgelöst werden, wenn das Quadrat der Anzeigeliste hinzugefügt wird.
    • enterFrameHandler(): Listener für enterFrame-Ereignisse, die in diesem Beispiel keine besondere Bedeutung haben.
    • removedHandler(): Listener für removed-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ür click-Ereignisse, die ausgelöst werden, wenn Benutzer auf das orangefarbene Quadrat klicken.
    • renderHandler(): Listener für render-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);
    }
}




 

Eine E-Mail an mich senden, wenn dieser Seite Kommentare hinzugefügt werden | Kommentarbericht

Aktuelle Seite: http://livedocs.adobe.com/flash/9.0_de/ActionScriptLangRefV3/flash/display/DisplayObject.html