Paketflash.display
Klassepublic class Sprite
VererbungSprite Inheritance DisplayObjectContainer Inheritance InteractiveObject Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object
Unterklassen FLVPlayback, FLVPlaybackCaptioning, MovieClip, UIComponent

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Die Sprite-Klasse ist ein Grundbaustein der Anzeigeliste: ein Knoten der Anzeigeliste, der Grafiken anzeigen und auch untergeordnete Objekte enthalten kann.

Ein Sprite-Objekt ähnelt einem Movieclip, besitzt aber keine Zeitleiste. Sprite ist die angemessene Basisklasse für Objekte, die keine Zeitleiste benötigen. So wäre Sprite etwa die logische Basisklasse für Komponenten der Benutzeroberfläche (UI, User Interface), die in der Regel keine Zeitleiste verwenden.

Die Sprite-Klasse ist neu in ActionScript 3.0. Sie bietet eine Alternative zur Funktionalität der MovieClip-Klasse, die die gesamte Funktionalität früherer ActionScript-Versionen beibehält, um die Abwärtskompatibilität zu gewährleisten.

Beispiele anzeigen

Siehe auch

Hauptanzeigeklassen


Öffentliche Eigenschaften
 EigenschaftDefiniert von
 InheritedaccessibilityProperties : AccessibilityProperties
Die aktuellen Eingabehilfenoptionen für dieses Anzeigeobjekt.
DisplayObject
 Inheritedalpha : Number
Gibt den Alphatransparenzwert des angegebenen Objekts an.
DisplayObject
 InheritedblendMode : String
Ein Wert aus der BlendMode-Klasse, mit dem angegeben wird, welcher Mischmodus verwendet werden soll.
DisplayObject
  buttonMode : Boolean
Legt den Schaltflächenmodus für dieses Sprite fest.
Sprite
 InheritedcacheAsBitmap : 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
 InheritedcontextMenu : ContextMenu
Gibt das diesem Objekt zugeordnete Kontextmenü an.
InteractiveObject
 InheriteddoubleClickEnabled : Boolean
Gibt an, ob das Objekt doubleClick-Ereignisse empfängt.
InteractiveObject
  dropTarget : DisplayObject
[read-only] Gibt das Anzeigeobjekt an, über das der Sprite gezogen wird oder auf dem der Sprite abgelegt wurde.
Sprite
 Inheritedfilters : Array
Ein indiziertes Array, das alle dem Anzeigeobjekt derzeit zugeordneten filter-Objekte enthält.
DisplayObject
 InheritedfocusRect : Object
Gibt an, ob für dieses Objekt ein Fokus-Rechteck angezeigt wird.
InteractiveObject
  graphics : Graphics
[read-only] Legt das Graphics-Objekt fest, das zu diesem Sprite gehört und für das Vektorzeichnungsbefehle zulässig sind.
Sprite
 Inheritedheight : Number
Gibt die Höhe des Anzeigeobjekts in Pixel an.
DisplayObject
  hitArea : Sprite
Gibt als Kollisionsbereich für ein Sprite ein anderes Sprite an.
Sprite
 InheritedloaderInfo : LoaderInfo
[read-only] Gibt ein LoaderInfo-Objekt mit Informationen zum Laden der Datei zurück, zu der dieses Anzeigeobjekt gehört.
DisplayObject
 Inheritedmask : DisplayObject
Das aufrufende Anzeigeobjekt wird durch das angegebene mask-Objekt maskiert.
DisplayObject
 InheritedmouseChildren : Boolean
Bestimmt, ob die dem Objekt untergeordneten Objekte per Maus aktivierbar sind.
DisplayObjectContainer
 InheritedmouseEnabled : Boolean
Gibt an, ob dieses Objekt Meldungen von der Maus empfängt.
InteractiveObject
 InheritedmouseX : Number
[read-only] Gibt die x-Koordinate der Mausposition in Pixel an.
DisplayObject
 InheritedmouseY : Number
[read-only] Gibt die y-Koordinate der Mausposition in Pixel an.
DisplayObject
 Inheritedname : String
Gibt den Instanznamen des Anzeigeobjekts an.
DisplayObject
 InheritednumChildren : int
[read-only] Liefert die Anzahl der Objekte, die diesem Objekt untergeordnet sind.
DisplayObjectContainer
 InheritedopaqueBackground : Object
Legt fest, ob das Anzeigeobjekt bei einer bestimmten Hintergrundfarbe undurchsichtig ist.
DisplayObject
 Inheritedparent : 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
 Inheritedroot : 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
 Inheritedrotation : Number
Gibt die Drehung der DisplayObject-Instanz ausgehend von der ursprünglichen Ausrichtung in Grad an.
DisplayObject
 Inheritedscale9Grid : Rectangle
Das aktuell verwendete Skalierungsraster.
DisplayObject
 InheritedscaleX : Number
Gibt die horizontale Skalierung (percentage) des Objekts ausgehend vom Registrierungspunkt an.
DisplayObject
 InheritedscaleY : Number
Gibt die vertikale Skalierung (percentage) eines Objekts ausgehend vom Registrierungspunkt an.
DisplayObject
 InheritedscrollRect : Rectangle
Die Begrenzungen des Bildlaufrechtecks für das Anzeigeobjekt.
DisplayObject
  soundTransform : SoundTransform
Steuert den Sound innerhalb dieses Sprites.
Sprite
 Inheritedstage : Stage
[read-only] Die Bühne des Anzeigeobjekts.
DisplayObject
 InheritedtabChildren : Boolean
Bestimmt, ob die dem Objekt untergeordneten Objekte per Tabulatortaste aktivierbar sind.
DisplayObjectContainer
 InheritedtabEnabled : Boolean
Gibt an, ob sich dieses Objekt in der Tabulatorreihenfolge befindet.
InteractiveObject
 InheritedtabIndex : int
Gibt die Tabulatorreihenfolge von Objekten in einer SWF-Datei an.
InteractiveObject
 InheritedtextSnapshot : TextSnapshot
[read-only] Liefert ein TextSnapshot-Objekt für diese DisplayObjectContainer-Instanz.
DisplayObjectContainer
 Inheritedtransform : Transform
Ein Objekt mit Eigenschaften, die zur Matrix, Farbtransformation und Pixelbegrenzung eines Anzeigeobjekts gehören.
DisplayObject
  useHandCursor : Boolean
Ein boolescher Wert, der angibt, ob der Handcursor angezeigt werden soll, wenn die Maus über ein Sprite-Objekt geführt wird, dessen buttonMode-Eigenschaft auf "true" gesetzt ist.
Sprite
 Inheritedvisible : Boolean
Gibt an, ob das Anzeigeobjekt sichtbar ist oder nicht.
DisplayObject
 Inheritedwidth : Number
Gibt die Breite des Anzeigeobjekts in Pixel an.
DisplayObject
 Inheritedx : Number
Gibt die x-Koordinate der DisplayObject-Instanz relativ zu den lokalen Koordinaten des übergeordneten DisplayObjectContainer-Objekts an.
DisplayObject
 Inheritedy : Number
Gibt die y-Koordinate der DisplayObject-Instanz relativ zu den lokalen Koordinaten des übergeordneten DisplayObjectContainer-Objekts an.
DisplayObject
Öffentliche Methoden
 MethodeDefiniert von
  
Erstellt eine neue Sprite-Instanz.
Sprite
 Inherited
Fügt dieser DisplayObjectContainer-Instanz eine untergeordnete DisplayObject-Instanz hinzu.
DisplayObjectContainer
 Inherited
Fügt dieser DisplayObjectContainer-Instanz eine untergeordnete DisplayObject-Instanz hinzu.
DisplayObjectContainer
 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
Gibt an, ob aufgrund der Sicherheitseinschränkungen irgendwelche Anzeigeobjekte aus der Liste ausgeschlossen werden, die beim Aufrufen der DisplayObjectContainer.getObjectsUnderPoint()-Methode mit dem angegebenen point-Punkt zurückgegeben wird.
DisplayObjectContainer
 Inherited
Ermittelt, ob das angegebene Anzeigeobjekt der DisplayObjectContainer-Instanz oder der Instanz selbst untergeordnet ist.
DisplayObjectContainer
 Inherited
Sendet ein Ereignis in den Ereignisablauf.
EventDispatcher
 Inherited
getBounds(targetCoordinateSpace:DisplayObject):Rectangle
Gibt ein Rechteck zurück, das den Bereich des Anzeigeobjekts in Bezug auf das Koordinatensystem des targetCoordinateSpace-Objekts definiert.
DisplayObject
 Inherited
Gibt die untergeordnete Anzeigeobjektinstanz zurück, die sich an der angegebenen Indexposition befindet.
DisplayObjectContainer
 Inherited
Gibt das untergeordnete Anzeigeobjekt für den angegebenen Namen zurück.
DisplayObjectContainer
 Inherited
Gibt die Indexposition einer untergeordneten DisplayObject-Instanz zurück.
DisplayObjectContainer
 Inherited
Gibt ein Array an Objekten zurück, die unter dem angegebenen Punkt liegen und dieser DisplayObjectContainer-Instanz untergeordnet sind (auch über mehrere Unterordnungsstufen hinweg).
DisplayObjectContainer
 Inherited
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
 Inherited
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
 Inherited
Wertet das Anzeigeobjekt aus, um festzustellen, ob es das Anzeigeobjekt "obj" überdeckt oder schneidet.
DisplayObject
 Inherited
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
 Inherited
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
Entfernt die angegebene untergeordnete DisplayObject-Instanz aus der Child-Liste der DisplayObjectContainer-Instanz.
DisplayObjectContainer
 Inherited
Entfernt ein untergeordnetes Anzeigeobjekt aus der angegebenen Indexposition in der Child-Liste des Anzeigeobjekt-Containers.
DisplayObjectContainer
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Entfernt einen Listener aus dem EventDispatcher-Objekt.
EventDispatcher
 Inherited
Ändert die Position eines vorhandenen untergeordneten Objekts im Anzeigeobjekt-Container.
DisplayObjectContainer
 Inherited
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
Object
  
startDrag(lockCenter:Boolean = false, bounds:Rectangle = null):void
Ermöglicht es Benutzern, das angegebene Sprite mit einer Ziehoperation zu verschieben.
Sprite
  
Beendet die startDrag()-Methode.
Sprite
 Inherited
Kehrt die z-Reihenfolge (von vorne nach hinten) der beiden angegebenen untergeordneten Objekte um.
DisplayObjectContainer
 Inherited
swapChildrenAt(index1:int, index2:int):void
Kehrt die z-Reihenfolge (von vorne nach hinten) der untergeordneten Objekte an den beiden angegebenen Indexpositionen in der Child-Liste um.
DisplayObjectContainer
 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
 Inherited Wird ausgelöst, wenn ein Objekt der Anzeigeliste hinzugefügt wird.DisplayObject
 Inherited 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 ein Benutzer die Haupttaste des Zeigegeräts über derselben InteractiveObject-Instanz drückt und wieder loslässt.InteractiveObject
 Inherited Wird ausgelöst, wenn Flash Player den Betriebssystemfokus verliert und inaktiv wird.EventDispatcher
 Inherited Wird ausgelöst, wenn der Benutzer die Haupttaste des Zeigegeräts zweimal schnell hintereinander über dem gleichen InteractiveObject-Objekt drückt und das doubleClickEnabled-Flag des Objekts "true" lautet.InteractiveObject
 Inherited Wird ausgelöst, wenn der Abspielkopf ein neues Bild erreicht.DisplayObject
 Inherited Wird ausgelöst, nachdem ein Anzeigeobjekt den Fokus erhalten hat.InteractiveObject
 Inherited Wird ausgelöst, nachdem ein Anzeigeobjekt den Fokus verloren hat.InteractiveObject
 Inherited Wird ausgelöst, wenn der Benutzer eine Taste drückt.InteractiveObject
 Inherited Wird ausgelöst, wenn der Benutzer versucht, den Fokus mithilfe der Tastatur zu ändern.InteractiveObject
 Inherited Wird ausgelöst, wenn der Benutzer eine Taste loslässt.InteractiveObject
 Inherited Wird ausgelöst, wenn im Flash Player-Fenster die Taste des Zeigegeräts über einer InteractiveObject-Instanz gedrückt wird.InteractiveObject
 Inherited Wird ausgelöst, wenn der Benutzer versucht, den Fokus mithilfe eines Zeigegeräts zu ändern.InteractiveObject
 Inherited Wird ausgelöst, wenn der Benutzer das Zeigegerät bewegt, während es sich auf einer InteractiveObject-Instanz befindet.InteractiveObject
 Inherited Wird ausgelöst, wenn der Benutzer das Zeigegerät von einer InteractiveObject-Instanz wegbewegt.InteractiveObject
 Inherited Wird ausgelöst, wenn das Zeigegerät im Flash Player-Fenster über eine InteractiveObject-Instanz bewegt wird.InteractiveObject
 Inherited Wird ausgelöst, wenn im Flash Player-Fenster die Taste des Zeigegeräts über einer InteractiveObject-Instanz losgelassen wird.InteractiveObject
 Inherited Wird ausgelöst, wenn ein Mausrad im Flash Player-Fenster über einer InteractiveObject-Instanz betätigt wird.InteractiveObject
 Inherited Wird ausgelöst, wenn ein Objekt aus der Anzeigeliste entfernt werden soll.DisplayObject
 Inherited Wird ausgelst, 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
 Inherited Wird ausgelöst, wenn die Anzeigeliste aktualisiert und neu gezeichnet werden soll.DisplayObject
 Inherited Wird ausgelöst, wenn der Benutzer das Zeigegerät von einer InteractiveObject-Instanz wegbewegt.InteractiveObject
 Inherited Wird ausgelöst, wenn der Benutzer das Zeigegerät auf eine InteractiveObject-Instanz bewegt.InteractiveObject
 Inherited Wird ausgelöst, wenn sich der Wert des tabChildren-Flags des Objekts ändert.InteractiveObject
 Inherited Wird ausgelöst, wenn sich das tabEnabled-Flag des Objekts ändert.InteractiveObject
 Inherited Wird ausgelöst, wenn sich der Wert der tabIndex-Eigenschaft des Objekts ändert.InteractiveObject
Eigenschaftsdetail
buttonModeEigenschaft
buttonMode:Boolean  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Legt den Schaltflächenmodus für dieses Sprite fest. Wenn true eingestellt ist, verhält sich dieses Sprite wie eine Schaltfläche. Dies bedeutet, dass die Anzeige des Handcursors ausgelöst wird, wenn die Maus über das Sprite bewegt wird, und ein click-Ereignis empfangen werden kann, wenn die Eingabe- oder Leertaste gedrückt wird, während das Sprite den Fokus besitzt. Sie können die Anzeige des Handcursors unterdrücken, indem Sie die useHandCursor-Eigenschaft auf false setzen. In diesem Fall wird der Pfeilcursor angezeigt.

Obwohl es besser ist, für die Erstellung von Schaltflächen die SimpleButton-Klasse zu verwenden, können Sie die buttonMode-Eigenschaft nutzen, um einem Sprite eine schaltflächenähnliche Funktionalität zu verleihen. Um ein Sprite in die Tabulatorreihenfolge einzubinden, setzen Sie die tabEnabled-Eigenschaft (wurde von der InteractiveObject-Klasse geerbt und ist standardmäßig auf false gesetzt) auf true. Zudem sollten Sie sich überlegen, ob die dem Sprite untergeordneten Objekte per Maus aktivierbar sein sollen. Bei den meisten Schaltflächen ist für die untergeordneten Objekte keine Mausinteraktivität aktiviert, da dies beim Ereignisablauf zu Verwirrung führen kann. Um die Mausinteraktivität für alle untergeordneten Objekte zu aktivieren, müssen Sie die mouseChildren-Eigenschaft auf false setzen (wird von der DisplayObjectContainer-Klasse übernommen).

Wenn Sie die buttonMode-Eigenschaft mit der MovieClip-Klasse verwenden (die eine Unterklasse der Sprite-Klasse ist), kann es sein, dass Ihre Schaltfläche zusätzliche Funktionen besitzt. Wenn Sie die Bilder mit den Bezeichnungen "_up" (auf), "_over" (darüber) und "_down" (gedrückt) einschließen, bietet Flash Player automatische Zustandsänderungen (eine Funktionalität, die in früheren ActionScript-Versionen für Movieclips bereitgestellt wurde, die als Schaltflächen verwendet werden). Diese automatischen Zustandsänderungen sind für Sprites nicht verfügbar, da diese keine Zeitleiste und somit auch keine Bildbezeichnungen besitzen.


Implementierung
    public function get buttonMode():Boolean
    public function set buttonMode(value:Boolean):void

Siehe auch


Beispiel

Im folgenden Beispiel werden zwei Sprites erstellt, und die buttonMode-Eigenschaft wird einmal auf true und einmal auf false gesetzt. Wenn Sie die Anwendung kompilieren und ausführen, reagieren beide Sprites auf Mausereignisse, aber nur das Sprite, für das buttonMode auf true gesetzt ist, verwendet den Handcursor und ist in der Tabulatorreihenfolge enthalten:
import flash.display.Sprite;
import flash.events.MouseEvent;

var circle1:Sprite = new Sprite();
circle1.graphics.beginFill(0xFFCC00);
circle1.graphics.drawCircle(40, 40, 40);
circle1.buttonMode = true;
circle1.addEventListener(MouseEvent.CLICK, clicked);

var circle2:Sprite = new Sprite();
circle2.graphics.beginFill(0xFFCC00);
circle2.graphics.drawCircle(120, 40, 40);
circle2.buttonMode = false;
circle2.addEventListener(MouseEvent.CLICK, clicked);

function clicked(event:MouseEvent):void {
    trace("Click!");
}

addChild(circle1);
addChild(circle2);
dropTargetEigenschaft 
dropTarget:DisplayObject  [read-only]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Gibt das Anzeigeobjekt an, über das der Sprite gezogen wird oder auf dem der Sprite abgelegt wurde.


Implementierung
    public function get dropTarget():DisplayObject

Siehe auch


Beispiel

Im folgenden Beispiel werden ein circle-Sprite und zwei target-Sprites erstellt. Die startDrag()-Methode wird für das circle-Sprite aufgerufen, wenn Benutzer den Cursor auf das Sprite bewegen und die Maustaste drücken, und die stopDrag()-Methode wird aufgerufen, wenn Benutzer die Maustaste loslassen. Ermöglicht es Benutzern, das Sprite mit einer Ziehoperation zu verschieben. Wenn Benutzer die Maustaste loslassen, wird die mouseRelease()-Methode aufgerufen, die wiederum den name-Wert des dropTarget-Objekts ausgibt (das Objekt, auf das Benutzer das circle-Sprite gezogen haben):
import flash.display.Sprite;
import flash.events.MouseEvent;

var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFFCC00);
circle.graphics.drawCircle(0, 0, 40);

var target1:Sprite = new Sprite();
target1.graphics.beginFill(0xCCFF00);
target1.graphics.drawRect(0, 0, 100, 100);
target1.name = "target1";

var target2:Sprite = new Sprite();
target2.graphics.beginFill(0xCCFF00);
target2.graphics.drawRect(0, 200, 100, 100);
target2.name = "target2";

addChild(target1);
addChild(target2);
addChild(circle);

circle.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown) 

function mouseDown(event:MouseEvent):void {
    circle.startDrag();
}
circle.addEventListener(MouseEvent.MOUSE_UP, mouseReleased);

function mouseReleased(event:MouseEvent):void {
    circle.stopDrag();
    trace(circle.dropTarget.name);
}
graphicsEigenschaft 
graphics:Graphics  [read-only]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Legt das Graphics-Objekt fest, das zu diesem Sprite gehört und für das Vektorzeichnungsbefehle zulässig sind.


Implementierung
    public function get graphics():Graphics

Beispiel

Im folgenden Beispiel wird ein circle-Sprite erstellt und seine graphics-Eigenschaft verwendet, um einen Kreis mit einer gelben Füllung (0xFFCC00) zu zeichnen:
import flash.display.Sprite;

var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFFCC00);
circle.graphics.drawCircle(40, 40, 40);
addChild(circle);
hitAreaEigenschaft 
hitArea:Sprite  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Gibt als Kollisionsbereich für ein Sprite ein anderes Sprite an. Wenn die hitArea-Eigenschaft nicht vorhanden ist oder den Wert null oder undefined aufweist, wird das Sprite selbst als Kollisionsbereich verwendet. Der Wert der hitArea-Eigenschaft kann ein Verweis auf ein Sprite-Objekt sein.

Die hitArea-Eigenschaft kann jederzeit geändert werden. Das geänderte Sprite übernimmt sofort das neue Verhalten des Kollisionsbereichs. Das als Kollisionsbereich bestimmte Sprite braucht nicht sichtbar zu sein. Auch wenn es unsichtbar ist, wird seine grafische Form dennoch als Kollisionsbereich erkannt.

Hinweis: Sie müssen die mouseEnabled-Eigenschaft des als Kollisionsbereich vorgesehenen Sprites auf false setzen. Sonst kann es vorkommen, dass Ihre Sprite-Schaltfläche nicht funktioniert, da nicht Ihre Sprite-Schaltfläche, sondern das als Kollisionsbereich bestimmte Sprite die Mausereignisse empfängt.


Implementierung
    public function get hitArea():Sprite
    public function set hitArea(value:Sprite):void

Beispiel

Im folgenden Beispiel werden ein circle-Sprite und ein square-Sprite erstellt. Das square-Sprite dient als hitArea für das circle-Sprite. Wenn Benutzer auf das square-Sprite klicken, löst das circle-Sprite ein click-Ereignis aus:
import flash.display.Sprite;
import flash.events.MouseEvent;

var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFFCC00);
circle.graphics.drawCircle(0, 0, 40);

var square:Sprite = new Sprite();
square.graphics.beginFill(0xCCFF00);
square.graphics.drawRect(200, 0, 100, 100);

circle.hitArea = square;
square.mouseEnabled = false;

circle.addEventListener(MouseEvent.CLICK, clicked);

function clicked(event:MouseEvent):void{
    trace(event.target == circle); // true
    trace(event.target == square); // false
}

addChild(circle);
addChild(square);
soundTransformEigenschaft 
soundTransform:SoundTransform  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Steuert den Sound innerhalb dieses Sprites.


Implementierung
    public function get soundTransform():SoundTransform
    public function set soundTransform(value:SoundTransform):void

Siehe auch


Beispiel

Im folgenden Beispiel wird ein Sprite mit dem Namen container erstellt und seiner Liste der untergeordneten Objekte ein Loader-Objekt hinzugefügt. Das Loader-Objekt lädt eine SWF-Datei. Wenn Benutzer im Textfeld tf durch Klicken auf den Link true auswählen, legt die mute()-Methode die volume-Eigenschaft der soundTransform-Eigenschaft des container-Sprites fest:
import flash.display.Sprite;
import flash.display.Loader;
import flash.events.IOErrorEvent;
import flash.events.MouseEvent;
import flash.net.URLRequest;
import flash.text.TextField;
import flash.media.SoundTransform;

var container:Sprite = new Sprite();
addChild(container);

var ldr:Loader = new Loader;
var urlReq:URLRequest = new URLRequest("SoundPlayer.swf");
ldr.load(urlReq);

container.addChild(ldr);
ldr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, urlNotFound);
            
var tf:TextField = new TextField();
tf.htmlText = "<a href = 'event:Mute'>Mute / Unmute</a>";
addChild(tf);

var mySoundTransform:SoundTransform = new SoundTransform();
mySoundTransform.volume = 1;

tf.addEventListener(MouseEvent.CLICK, mute);

function mute(event:MouseEvent):void {    
    if (mySoundTransform.volume == 0) {
        mySoundTransform.volume = 1;
    } else {
        mySoundTransform.volume = 0;        
    }
    container.soundTransform = mySoundTransform;
}

function urlNotFound(event:IOErrorEvent):void {
    trace("The URL was not found."); 
}
useHandCursorEigenschaft 
useHandCursor:Boolean  [read-write]

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Ein boolescher Wert, der angibt, ob der Handcursor angezeigt werden soll, wenn die Maus über ein Sprite geführt wird, in dem die buttonMode-Eigenschaft auf true gesetzt ist. Der Standardwert für die useHandCursor-Eigenschaft lautet true. Wenn useHandCursor auf true gesetzt ist, erscheint der für Schaltflächen verwendete Handcursor, wenn Benutzer die Maus auf ein Schaltflächen-Sprite bewegen. Wenn useHandCursor auf false gesetzt ist, wird stattdessen der Pfeilcursor verwendet.

Die useHandCursor-Eigenschaft kann jederzeit geändert werden. Das geändert Sprite übernimmt sofort das neue Cursorverhalten.


Implementierung
    public function get useHandCursor():Boolean
    public function set useHandCursor(value:Boolean):void

Siehe auch


Beispiel

Im folgenden Beispiel werden zwei Sprites erstellt, für die die buttonMode-Eigenschaft jeweils auf true gesetzt wird. Die useHandCursor-Eigenschaft wird jedoch einmal auf true und einmal auf false gesetzt. Wenn Sie die Anwendung kompilieren und ausführen, reagieren beide Sprites als Schaltflächen (und sind in der Tabulatorreihenfolge enthalten), aber nur das Sprite, für das useHandCursor auf true gesetzt ist, verwendet den Handcursor:
import flash.display.Sprite;
import flash.events.MouseEvent;

var circle1:Sprite = new Sprite();
circle1.graphics.beginFill(0xFFCC00);
circle1.graphics.drawCircle(40, 40, 40);
circle1.buttonMode = true;
circle1.useHandCursor = true;
circle1.addEventListener(MouseEvent.CLICK, clicked);

var circle2:Sprite = new Sprite();
circle2.graphics.beginFill(0xFFCC00);
circle2.graphics.drawCircle(120, 40, 40);
circle2.buttonMode = true;
circle2.useHandCursor = false;
circle2.addEventListener(MouseEvent.CLICK, clicked);

function clicked(event:MouseEvent):void {
    trace("Click!");
}

addChild(circle1);
addChild(circle2);
Konstruktordetail
Sprite()Konstruktor
public function Sprite()

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Erstellt eine neue Sprite-Instanz. Nachdem Sie die Sprite-Instanz erstellt haben, rufen Sie die Methode DisplayObjectContainer.addChild() oder DisplayObjectContainer.addChildAt() auf, um die Sprite-Instanz einem übergeordneten "DisplayObjectContainer" hinzuzufügen.

Methodendetail
startDrag()Methode
public function startDrag(lockCenter:Boolean = false, bounds:Rectangle = null):void

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Ermöglicht es Benutzern, das angegebene Sprite mit einer Ziehoperation zu verschieben. Das Sprite bleibt so lange ziehbar, bis die Freigabe durch einen Aufruf der Sprite.stopDrag()-Methode aufgehoben wird oder bis ein anderes Sprite als ziehbares Objekt definiert wird. Es kann jeweils nur ein Sprite ziehbar sein.

Parameter

lockCenter:Boolean (default = false) — Legt fest, ob das ziehbare Sprite am Mittelpunkt der Mausposition (true) oder an der Stelle einrastet, an der der Benutzer zum ersten Mal auf das Sprite geklickt hat (false).
 
bounds:Rectangle (default = null) — Wert, der zu den Koordinaten des dem Sprite übergeordneten Objekts relativ ist und ein begrenzendes Rechteck für das Sprite angibt.

Siehe auch


Beispiel

Im folgenden Beispiel werden ein circle-Sprite und zwei target-Sprites erstellt. Die startDrag()-Methode wird für das circle-Sprite aufgerufen, wenn Benutzer den Cursor auf das Sprite bewegen und die Maustaste drücken, und die stopDrag()-Methode wird aufgerufen, wenn Benutzer die Maustaste loslassen. Ermöglicht es Benutzern, das Sprite mit einer Ziehoperation zu verschieben. Wenn Benutzer die Maustaste loslassen, wird die mouseRelease()-Methode aufgerufen, die wiederum den name-Wert des dropTarget-Objekts ausgibt (das Objekt, auf das Benutzer das circle-Sprite gezogen haben):
import flash.display.Sprite;
import flash.events.MouseEvent;

var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFFCC00);
circle.graphics.drawCircle(0, 0, 40);

var target1:Sprite = new Sprite();
target1.graphics.beginFill(0xCCFF00);
target1.graphics.drawRect(0, 0, 100, 100);
target1.name = "target1";

var target2:Sprite = new Sprite();
target2.graphics.beginFill(0xCCFF00);
target2.graphics.drawRect(0, 200, 100, 100);
target2.name = "target2";

addChild(target1);
addChild(target2);
addChild(circle);

circle.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown) 

function mouseDown(event:MouseEvent):void {
    circle.startDrag();
}
circle.addEventListener(MouseEvent.MOUSE_UP, mouseReleased);

function mouseReleased(event:MouseEvent):void {
    circle.stopDrag();
    trace(circle.dropTarget.name);
}
stopDrag()Methode 
public function stopDrag():void

Sprachversion : ActionScript 3.0
Player-Version : Flash Player 9

Beendet die startDrag()-Methode. Ein Sprite, das mit der startDrag()-Methode ziehbar gemacht wurde, bleibt so lange ziehbar, bis die stopDrag()-Methode hinzugefügt oder ein anderes Sprite ziehbar gemacht wird. Es kann jeweils nur ein Sprite ziehbar sein.

Siehe auch


Beispiel

Im folgenden Beispiel werden ein circle-Sprite und zwei target-Sprites erstellt. Die startDrag()-Methode wird für das circle-Sprite aufgerufen, wenn Benutzer den Cursor auf das Sprite bewegen und die Maustaste drücken, und die stopDrag()-Methode wird aufgerufen, wenn Benutzer die Maustaste loslassen. Ermöglicht es Benutzern, das Sprite mit einer Ziehoperation zu verschieben. Wenn Benutzer die Maustaste loslassen, wird die mouseRelease()-Methode aufgerufen, die wiederum den name-Wert des dropTarget-Objekts ausgibt (das Objekt, auf das Benutzer das circle-Sprite gezogen haben):
import flash.display.Sprite;
import flash.events.MouseEvent;

var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFFCC00);
circle.graphics.drawCircle(0, 0, 40);

var target1:Sprite = new Sprite();
target1.graphics.beginFill(0xCCFF00);
target1.graphics.drawRect(0, 0, 100, 100);
target1.name = "target1";

var target2:Sprite = new Sprite();
target2.graphics.beginFill(0xCCFF00);
target2.graphics.drawRect(0, 200, 100, 100);
target2.name = "target2";

addChild(target1);
addChild(target2);
addChild(circle);

circle.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown) 

function mouseDown(event:MouseEvent):void {
    circle.startDrag();
}
circle.addEventListener(MouseEvent.MOUSE_UP, mouseReleased);

function mouseReleased(event:MouseEvent):void {
    circle.stopDrag();
    trace(circle.dropTarget.name);
}
Beispiele Verwendung von Beispielen
SpriteExample.as

Im folgenden Beispiel wird die SpriteExample-Klasse verwendet, um auf der Bühne ein orangefarbenes Quadrat zu zeichnen. Es werden dann jeweils Ereignisse ausgelöst, wenn Benutzer auf das Quadrat klicken oder es verschieben. Dies wird in den folgenden Schritten erreicht:
  1. Im Beispiel wird die size-Eigenschaft (100 x 100 Pixel) und die Hintergrundfarbe (Orange) zur späteren Verwendung beim Zeichnen des Quadrats deklariert.
  2. Der Konstruktor erstellt anschließend ein neues child-Sprite-Objekt und verwendet es, um zwei Ereignis-Listener und die dazugehörigen Methoden hinzuzufügen: mouseDownHandler() und mouseUpHandler().
  3. Das child-Sprite-Objekt wird dann an die draw()-Methode übergeben, die das orangefarbene Quadrat zeichnet.
  4. Das child-Objekt wird in die Anzeigeliste eingefügt, indem die addChild()-Methode aufgerufen wird.
  5. Die Ereignis-Listener funktionieren wie folgt:
    • mouseDownHandler(): Wenn Benutzer auf das Sprite-Objekt klicken, fügt diese Methode einen mouseMove-Ereignis-Listener hinzu (die mouseMoveHandler()-Methode), der die Mausbewegungen verarbeitet. Als Nächstes wird die startDrag()-Methode aufgerufen, die das Ziehen des Sprite-Objekts ermöglicht.
    • mouseUpHandler(): Wenn die Maustaste losgelassen wird, wird der mouseMove-Ereignis-Listener entfernt, und die stopDrag()-Methode wird aufgerufen, die das orangefarbene Quadrat an seiner Position fixiert.
    • mouseMoveHandler: Solange die linke Maustaste gedrückt gehalten wird, weist diese Methode den Player an, das orangefarbene Quadrat neu zu zeichnen.

Hinweis: Jede Ereignis-Listener-Methode deklariert eine lokale sprite-Variable, der die target-Eigenschaft des Ereignisses zugewiesen wird.


package {
    import flash.display.Sprite;
    import flash.events.*;

    public class SpriteExample extends Sprite {
        private var size:uint    = 100;
        private var bgColor:uint = 0xFFCC00;

        public function SpriteExample() {
            var child:Sprite = new Sprite();
            child.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
            child.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler);
            draw(child);
            addChild(child);
        }

        private function mouseDownHandler(event:MouseEvent):void {
            trace("mouseDownHandler");
            var sprite:Sprite = Sprite(event.target);
            sprite.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
            sprite.startDrag();
        }

        private function mouseUpHandler(event:MouseEvent):void {
            trace("mouseUpHandler");
            var sprite:Sprite = Sprite(event.target);
            sprite.removeEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler);
            sprite.stopDrag();
        }

        private function mouseMoveHandler(event:MouseEvent):void {
            trace("mouseMoveHandler");
            event.updateAfterEvent();
        }

        private function draw(sprite:Sprite):void {
            sprite.graphics.beginFill(bgColor);
            sprite.graphics.drawRect(0, 0, size, size);
            sprite.graphics.endFill();
        }
    }
}




 

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/Sprite.html