Pacchettoflash.display
Classepublic class Sprite
EreditarietàSprite Inheritance DisplayObjectContainer Inheritance InteractiveObject Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object
Sottoclassi FLVPlayback, FLVPlaybackCaptioning, MovieClip, UIComponent

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

La classe Sprite è un blocco costitutivo di base dell'elenco di visualizzazione: un nodo dell'elenco di visualizzazione che può visualizzare grafica e anche contenere elementi secondari.

Un oggetto Sprite è simile a un clip filmato, ma non dispone di una linea temporale. Sprite è una classe base appropriata per gli oggetti che non necessitano di una linea temporale. Ad esempio, è indicata per i componenti dell'interfaccia utente (UI) che normalmente non utilizzano la linea temporale.

La classe Sprite è stata introdotta in ActionScript 3.0. È un'alternativa alla funzionalità della classe MovieClip, che mantiene l'intera funzionalità delle versioni precedenti di ActionScript per garantire la compatibilità retroattiva.

Vedere gli esempi

Vedere anche

Classi di visualizzazione di base


Proprietà pubbliche
 ProprietàDefinito da
 InheritedaccessibilityProperties: AccessibilityProperties
Le opzioni di accessibilità correnti di questo oggetto di visualizzazione.
DisplayObject
 Inheritedalpha: Number
Indica il valore della trasparenza alfa dell'oggetto specificato.
DisplayObject
 InheritedblendMode: String
Un valore della classe BlendMode che specifica il metodo di fusione da utilizzare.
DisplayObject
  buttonMode: Boolean
Specifica la modalità pulsante di questo sprite.
Sprite
 InheritedcacheAsBitmap: Boolean
Se è impostata su true, viene memorizzata nella cache una rappresentazione bitmap interna dell'oggetto di visualizzazione.
DisplayObject
 Inheritedconstructor: Object
Un riferimento all'oggetto classe o alla funzione di costruzione per una determinata istanza di oggetto.
Object
 InheritedcontextMenu: ContextMenu
Specifica il menu di scelta rapida associato all'oggetto.
InteractiveObject
 InheriteddoubleClickEnabled: Boolean
Specifica se l'oggetto riceve gli eventi doubleClick.
InteractiveObject
  dropTarget: DisplayObject
[sola lettura] Specifica l'oggetto di visualizzazione sopra il quale viene trascinato lo sprite o sul quale viene rilasciato.
Sprite
 Inheritedfilters: Array
Un array indicizzato che contiene ogni oggetto filtro attualmente associato all'oggetto di visualizzazione.
DisplayObject
 InheritedfocusRect: Object
Specifica se l'oggetto visualizza un rettangolo di attivazione.
InteractiveObject
  graphics: Graphics
[sola lettura] Specifica l'oggetto Graphics che appartiene a questo oggetto Sprite, in cui possono essere eseguiti i comandi di disegno vettoriale.
Sprite
 Inheritedheight: Number
Indica l'altezza dell'oggetto di visualizzazione espressa in pixel.
DisplayObject
  hitArea: Sprite
Definisce un altro sprite come area attiva di uno sprite.
Sprite
 InheritedloaderInfo: LoaderInfo
[sola lettura] Restituisce un oggetto LoaderInfo contenente informazioni sul caricamento del file al quale questo oggetto di visualizzazione appartiene.
DisplayObject
 Inheritedmask: DisplayObject
L'oggetto di visualizzazione chiamante viene mascherato dall'oggetto mask specificato.
DisplayObject
 InheritedmouseChildren: Boolean
Determina se gli elementi secondari dell'oggetto sono abilitati per il mouse o meno.
DisplayObjectContainer
 InheritedmouseEnabled: Boolean
Specifica se l'oggetto riceve i messaggi relativi al mouse.
InteractiveObject
 InheritedmouseX: Number
[sola lettura] Indica la coordinata x della posizione del mouse, in pixel.
DisplayObject
 InheritedmouseY: Number
[sola lettura] Indica la coordinata y della posizione del mouse, in pixel.
DisplayObject
 Inheritedname: String
Indica il nome dell'istanza dell'oggetto DisplayObject.
DisplayObject
 InheritednumChildren: int
[sola lettura] Restituisce il numero di elementi secondari di questo oggetto.
DisplayObjectContainer
 InheritedopaqueBackground: Object
Specifica se l'oggetto di visualizzazione è opaco con un determinato colore di sfondo.
DisplayObject
 Inheritedparent: DisplayObjectContainer
[sola lettura] Indica l'oggetto DisplayObjectContainer che contiene questo oggetto di visualizzazione.
DisplayObject
 Inheritedprototype: Object
[statico] Un riferimento all'oggetto prototipo di un oggetto classe o funzione.
Object
 Inheritedroot: DisplayObject
[sola lettura] Nel caso di un oggetto di visualizzazione all'interno di un file SWF caricato, la proprietà principale è l'oggetto di visualizzazione più in alto nella porzione della struttura dell'elenco di visualizzazione rappresentata da quel file SWF.
DisplayObject
 Inheritedrotation: Number
Indica la rotazione dell'istanza DisplayObject, espressa in gradi, rispetto alla posizione originale.
DisplayObject
 Inheritedscale9Grid: Rectangle
La griglia di modifica in scala attualmente attiva.
DisplayObject
 InheritedscaleX: Number
Indica la scala orizzontale (percentuale) dell'oggetto applicata dal punto di registrazione.
DisplayObject
 InheritedscaleY: Number
Indica la scala verticale (percentuale) di un oggetto applicata dal punto di registrazione dell'oggetto.
DisplayObject
 InheritedscrollRect: Rectangle
I limiti del rettangolo di scorrimento dell'oggetto di visualizzazione.
DisplayObject
  soundTransform: SoundTransform
Controlla il suono nello sprite.
Sprite
 Inheritedstage: Stage
[sola lettura] Lo stage dell'oggetto di visualizzazione.
DisplayObject
 InheritedtabChildren: Boolean
Determina se gli elementi secondari dell'oggetto sono abilitati per la tabulazione.
DisplayObjectContainer
 InheritedtabEnabled: Boolean
Specifica se questo oggetto è incluso nell'ordine di tabulazione.
InteractiveObject
 InheritedtabIndex: int
Specifica l'ordine di tabulazione degli oggetti in un file SWF.
InteractiveObject
 InheritedtextSnapshot: TextSnapshot
[sola lettura] Restituisce un oggetto TextSnapshot per questa istanza DisplayObjectContainer.
DisplayObjectContainer
 Inheritedtransform: Transform
Un oggetto con proprietà relative alla matrice, alla trasformazione del colore e ai limiti di pixel di un oggetto di visualizzazione.
DisplayObject
  useHandCursor: Boolean
Un valore booleano che indica se viene visualizzato un puntatore a forma di mano quando il mouse passa sopra uno sprite in cui la proprietà buttonMode è impostata su true.
Sprite
 Inheritedvisible: Boolean
Determina se l'oggetto di visualizzazione è visibile o meno.
DisplayObject
 Inheritedwidth: Number
Indica la larghezza dell'oggetto di visualizzazione espressa in pixel.
DisplayObject
 Inheritedx: Number
Indica la coordinata x dell'istanza DisplayObject relativa alle coordinate locali del DisplayObjectContainer principale.
DisplayObject
 Inheritedy: Number
Indica la coordinata y dell'istanza DisplayObject relativa alle coordinate locali del DisplayObjectContainer principale.
DisplayObject
Metodi pubblici
 MetodoDefinito da
  
Crea una nuova istanza Sprite.
Sprite
 Inherited
Aggiunge un'istanza secondaria DisplayObject a questa istanza DisplayObjectContainer.
DisplayObjectContainer
 Inherited
Aggiunge un'istanza secondaria DisplayObject a questa istanza DisplayObjectContainer.
DisplayObjectContainer
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un oggetto listener di eventi con un oggetto EventDispatcher, in modo che il listener riceva la notifica di un evento.
EventDispatcher
 Inherited
Indica se le restrizioni di sicurezza possono determinare l'omissione di eventuali oggetti di visualizzazione dall'elenco restituito dalla chiamata al metodo DisplayObjectContainer.getObjectsUnderPoint() con il punto point specificato.
DisplayObjectContainer
 Inherited
Determina se l'oggetto di visualizzazione specificato è un elemento secondario dell'istanza DisplayObjectContainer oppure è l'istanza stessa.
DisplayObjectContainer
 Inherited
Invia un evento nel flusso di eventi.
EventDispatcher
 Inherited
getBounds(targetCoordinateSpace:DisplayObject):Rectangle
Restituisce un rettangolo che definisce l'area dell'oggetto di visualizzazione relativa al sistema di coordinate dell'oggetto targetCoordinateSpace.
DisplayObject
 Inherited
Restituisce l'istanza dell'oggetto di visualizzazione secondario che si trova in corrispondenza della posizione di indice specificata.
DisplayObjectContainer
 Inherited
Restituisce l'oggetto di visualizzazione secondario al quale corrisponde il nome specificato.
DisplayObjectContainer
 Inherited
Restituisce la posizione di indice di un'istanza DisplayObject secondaria.
DisplayObjectContainer
 Inherited
Restituisce un array di oggetti che si trovano sotto il punto specificato e sono elementi secondari (di uno o più livelli inferiori) di questa istanza DisplayObjectContainer.
DisplayObjectContainer
 Inherited
getRect(targetCoordinateSpace:DisplayObject):Rectangle
Restituisce un rettangolo che definisce i bordi dell'oggetto di visualizzazione in base al sistema di coordinate definito dal parametro targetCoordinateSpace, esclusi gli eventuali tratti presenti sulle forme.
DisplayObject
 Inherited
Converte le coordinate dello stage (globali) in quelle (locali) dell'oggetto di visualizzazione per l'oggetto Point.
DisplayObject
 Inherited
Verifica se per l'oggetto EventDispatcher sono presenti listener registrati per un tipo specifico di evento.
EventDispatcher
 Inherited
Indica se per un oggetto è definita una proprietà specifica.
Object
 Inherited
Valuta l'oggetto di visualizzazione per stabilire se si sovrappone o si interseca con l'oggetto di visualizzazione obj.
DisplayObject
 Inherited
hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
Valuta l'oggetto di visualizzazione per stabilire se si sovrappone o si interseca con il punto specificato dai parametri x e y.
DisplayObject
 Inherited
Indica se un'istanza della classe Object si trova nella catena di prototipi dell'oggetto specificato come parametro.
Object
 Inherited
Converte le coordinate dell'oggetto di visualizzazione (locali) in quelle dello stage (globali) per l'oggetto Point.
DisplayObject
 Inherited
Indica se la proprietà specificata esiste ed è enumerabile.
Object
 Inherited
Rimuove l'istanza DisplayObject secondaria specificata dall'elenco degli elementi secondari dell'istanza DisplayObjectContainer.
DisplayObjectContainer
 Inherited
Rimuove un'istanza DisplayObject secondaria dalla posizione di indice specificata nell'elenco degli elementi secondari di DisplayObjectContainer.
DisplayObjectContainer
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Rimuove un listener dall'oggetto EventDispatcher.
EventDispatcher
 Inherited
Cambia la posizione di un elemento secondario nel contenitore di oggetto di visualizzazione.
DisplayObjectContainer
 Inherited
Imposta la disponibilità di una proprietà dinamica per le operazioni cicliche.
Object
  
startDrag(lockCenter:Boolean = false, bounds:Rectangle = null):void
Consente all'utente di trascinare lo sprite specificato.
Sprite
  
Termina il metodo startDrag().
Sprite
 Inherited
Scambia lo z-order (ordine di profondità) degli oggetti secondari specificati.
DisplayObjectContainer
 Inherited
swapChildrenAt(index1:int, index2:int):void
Scambia lo z-order (ordine di profondità) degli oggetti secondari nelle due posizioni di indice specificate nell'elenco degli elementi secondari.
DisplayObjectContainer
 Inherited
Restituisce la rappresentazione in formato stringa dell'oggetto specificato.
Object
 Inherited
Restituisce il valore di base dell'oggetto specificato.
Object
 Inherited
Verifica se un listener di eventi è registrato con questo oggetto EventDispatcher o qualsiasi suo antenato per il tipo di evento specificato.
EventDispatcher
Eventi
 Evento Riepilogo Definito da
 Inherited Inviato quando Flash Player riceve lo stato di attivazione del sistema operativo e diventa attivo.EventDispatcher
 Inherited Inviato quando un oggetto di visualizzazione viene aggiunto all'elenco di visualizzazione.DisplayObject
 Inherited Inviato quando un oggetto di visualizzazione viene aggiunto all'elenco di visualizzazione sullo stage, sia direttamente o mediante l'aggiunta di una sottostruttura ad albero che contiene l'oggetto di visualizzazione.DisplayObject
 Inherited Inviato quando l'utente preme e rilascia il pulsante principale del dispositivo di puntamento sopra lo stesso InteractiveObject.InteractiveObject
 Inherited Inviato quando Flash Player perde lo stato di attivazione del sistema operativo e sta per diventare inattivo.EventDispatcher
 Inherited Inviato quando l'utente preme e rilascia il pulsante principale di un dispositivo di puntamento due volte in rapida successione sopra la stessa istanza InteractiveObject quando il flag doubleClickEnabled dell'oggetto è impostato su true.InteractiveObject
 Inherited Inviato quando l'indicatore di riproduzione sta entrando in un nuovo fotogramma.DisplayObject
 Inherited Inviato dopo che un oggetto di visualizzazione ha ricevuto lo stato di attivazione.InteractiveObject
 Inherited Inviato dopo che un oggetto di visualizzazione ha perso lo stato di attivazione.InteractiveObject
 Inherited Inviato quando l'utente preme un tasto.InteractiveObject
 Inherited Inviato quando l'utente tenta di cambiare l'elemento attivo utilizzando la tastiera.InteractiveObject
 Inherited Inviato quando l'utente rilascia un tasto.InteractiveObject
 Inherited Inviato quando un utente preme il pulsante del dispositivo di puntamento su un'istanza InteractiveObject nella finestra di Flash Player.InteractiveObject
 Inherited Inviato quando l'utente tenta di cambiare l'elemento attivo utilizzando un dispositivo di puntamento.InteractiveObject
 Inherited Inviato quando l'utente sposta il dispositivo di puntamento mentre si trova sopra un'istanza InteractiveObject.InteractiveObject
 Inherited Inviato quando l'utente allontana un dispositivo di puntamento da un'istanza InteractiveObject.InteractiveObject
 Inherited Inviato quando un utente muove un dispositivo di puntamento sopra un'istanza InteractiveObject nella finestra di Flash Player.InteractiveObject
 Inherited Inviato quando un utente rilascia il pulsante del dispositivo di puntamento su un'istanza InteractiveObject nella finestra di Flash Player.InteractiveObject
 Inherited Inviato quando la rotella del mouse viene fatta ruotare sopra un'istanza InteractiveObject nella finestra di Flash Player.InteractiveObject
 Inherited Inviato quando un oggetto di visualizzazione sta per essere rimosso dall'elenco di visualizzazione.DisplayObject
 Inherited Inviato quando un oggetto di visualizzazione sta per essere rimosso dall'elenco di visualizzazione sullo stage, sia direttamente o mediante la rimozione di una sottostruttura ad albero che contiene l'oggetto di visualizzazione.DisplayObject
 Inherited Inviato quando l'elenco di visualizzazione sta per essere aggiornato e sottoposto a rendering.DisplayObject
 Inherited Inviato quando l'utente allontana un dispositivo di puntamento da un'istanza InteractiveObject.InteractiveObject
 Inherited Inviato quando l'utente sposta un dispositivo di puntamento sopra un'istanza InteractiveObject.InteractiveObject
 Inherited Inviato quando cambia il valore del flag tabChildren dell'oggetto.InteractiveObject
 Inherited Inviato quando cambia il flag tabEnabled dell'oggetto.InteractiveObject
 Inherited Inviato quando cambia il valore della proprietà tabIndex dell'oggetto.InteractiveObject
Descrizione delle proprietà
buttonModeproprietà
buttonMode:Boolean  [lettura-scrittura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Specifica la modalità pulsante di questo sprite. Se è true, questo sprite si comporta come un pulsante, ovvero attiva la visualizzazione del puntatore a forma di mano quando il mouse passa sopra lo sprite e può ricevere un evento click se viene premuto il tasto Invio o la barra spaziatrice quando lo sprite è l'elemento attivo. È possibile annullare la visualizzazione del puntatore a forma di mano impostando la proprietà useHandCursor su false, in modo da visualizzare il puntatore standard.

Benché sia meglio utilizzare la classe SimpleButton per creare dei pulsanti, la proprietà buttonMode consente di conferire a uno sprite alcune caratteristiche simili a quelle di un pulsante. Per includere uno sprite nell'ordine di tabulazione, impostare la proprietà tabEnabled (ereditata dalla classe InteractiveObject e impostata sul valore predefinito false) su true. Inoltre, scegliere se gli elementi secondari dello sprite devono essere abilitati per il mouse. La maggior parte dei pulsanti non abilita l'interattività con il mouse per gli elementi secondari perché ciò ha l'effetto di confondere il flusso degli eventi. Per disabilitare l'interattività con il mouse per tutti gli oggetti secondari, è necessario impostare la proprietà mouseChildren (ereditata dalla classe DisplayObjectContainer) su false.

Se si utilizza la proprietà buttonMode con la classe MovieClip (che è una sottoclasse di Sprite), il pulsante potrebbe presentare una funzionalità più estesa. Se si includono dei fotogrammi con le etichette _up, _over e _down, Flash Player fornisce le modifiche di stato automatiche (caratteristica simile a quella disponibile nelle versioni precedenti di ActionScript per i clip filmato utilizzati come pulsanti). Queste modifiche di stato automatiche non sono disponibili per gli sprite, che sono sprovvisti di linea temporale e quindi non hanno fotogrammi cui assegnare un'etichetta.


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

Vedere anche


Esempio

L'esempio seguente crea due sprite e imposta la proprietà buttonMode su true per uno e su false per l'altro. Quando si compila ed esegue l'applicazione, entrambi gli sprite rispondono agli eventi del mouse ma solo quello in cui l'impostazione di buttonMode è true.
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);
dropTargetproprietà 
dropTarget:DisplayObject  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Specifica l'oggetto di visualizzazione sopra il quale viene trascinato lo sprite o sul quale viene rilasciato.


Implementazione
    public function get dropTarget():DisplayObject

Vedere anche


Esempio

Nell'esempio seguente vengono creati uno sprite circle e due sprite target. Il metodo startDrag() viene chiamato sullo sprite circle quando l'utente posiziona il puntatore sopra lo sprite e preme il pulsante del mouse, mentre il metodo stopDrag() viene chiamato quando l'utente rilascia il pulsante del mouse. In questo modo all'utente è consentito di trascinare lo sprite. Al rilascio del pulsante del mouse viene chiamato il metodo mouseRelease(), il quale a propria volta traccia il name dell'oggetto dropTarget (oggetto su cui l'utente ha trascinato lo sprite circle):
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);
}
graphicsproprietà 
graphics:Graphics  [sola lettura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Specifica l'oggetto Graphics che appartiene a questo oggetto Sprite, in cui possono essere eseguiti i comandi di disegno vettoriale.


Implementazione
    public function get graphics():Graphics

Esempio

L'esempio seguente crea uno sprite circle e ne utilizza la proprietà graphics per disegnare un riempimento giallo (0xFFCC00):
import flash.display.Sprite;

var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFFCC00);
circle.graphics.drawCircle(40, 40, 40);
addChild(circle);
hitAreaproprietà 
hitArea:Sprite  [lettura-scrittura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Definisce un altro sprite come area attiva di uno sprite. Se la proprietà hitArea non esiste oppure è null o undefined, lo sprite stesso viene utilizzato come area attiva. Il valore della proprietà hitArea può fungere da riferimento per un oggetto Sprite.

È possibile modificare la proprietà hitArea in qualsiasi momento; lo sprite modificato utilizza immediatamente il nuovo comportamento dell'area attiva. Non è necessario che lo sprite designato come area attiva sia visibile; la sua forma grafica, anche non visibile, viene rilevata come area attiva.

Nota: occorre impostare su false la proprietà mouseEnabled dello sprite designato come area attiva. In caso contrario, il pulsante sprite potrebbe non funzionare perché non riceverebbe gli eventi del mouse, che sarebbero invece ricevuti dallo sprite designato come area attiva.


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

Esempio

Nell'esempio seguente vengono creati uno sprite circle e uno sprite square. Lo sprite square funge da hitArea per lo sprite circle. Pertanto, quando l'utente fa clic sullo sprite square, lo sprite circle invia un evento click:
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);
soundTransformproprietà 
soundTransform:SoundTransform  [lettura-scrittura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Controlla il suono nello sprite.


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

Vedere anche


Esempio

L'esempio seguente crea uno sprite di nome container e aggiunge un oggetto Loader al suo elenco di elementi secondari. L'oggetto Loader carica un file SWF. Quando l'utente fa clic sul collegamento nel campo di testo tf true, il metodo mute() imposta la proprietà volume della proprietà soundTransform dello sprite container:
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."); 
}
useHandCursorproprietà 
useHandCursor:Boolean  [lettura-scrittura]

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Un valore booleano che indica se viene visualizzato un puntatore a forma di mano quando il mouse passa sopra uno sprite in cui la proprietà buttonMode è impostata su true. Il valore predefinito della proprietà useHandCursor è true. Se useHandCursor è impostata su true, viene visualizzato il puntatore a forma di mano quando il mouse passa sopra uno sprite pulsante. Se useHandCursor è false, viene utilizzato il puntatore a forma di freccia.

È possibile modificare la proprietà useHandCursor in qualsiasi momento; allo sprite modificato viene immediatamente associato il nuovo aspetto del cursore.


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

Vedere anche


Esempio

L'esempio seguente crea due sprite e imposta la proprietà buttonMode su true per entrambi, e tuttavia imposta la proprietà useHandCursor su true per uno e su false per l'altro. Quando si compila ed esegue l'applicazione, entrambi gli sprite rispondono come pulsanti (e sono inclusi nell'ordine di tabulazione), ma solo quello in cui l'impostazione di useHandCursor è true utilizza il puntatore a forma di mano.
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);
Descrizione della funzione di costruzione
Sprite()Funzione di costruzione
public function Sprite()

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Crea una nuova istanza Sprite. Dopo aver creato l'istanza Sprite, chiamare il metodo DisplayObjectContainer.addChild() o DisplayObjectContainer.addChildAt() per aggiungere lo sprite a un DisplayObjectContainer principale.

Descrizione dei metodi
startDrag()metodo
public function startDrag(lockCenter:Boolean = false, bounds:Rectangle = null):void

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Consente all'utente di trascinare lo sprite specificato. È possibile trascinare lo sprite fino a quando il trascinamento non viene interrotto esplicitamente mediante una chiamata a Sprite.stopDrag() o non viene reso trascinabile un altro sprite. È possibile trascinare un solo sprite alla volta.

Parametri

lockCenter:Boolean (default = false) — Specifica che lo sprite trascinabile è bloccato al centro della posizione del mouse (true) oppure bloccato nel punto in cui l'utente aveva fatto clic sullo sprite la prima volta (false).
 
bounds:Rectangle (default = null) — Valore relativo alle coordinate dell'elemento principale dello sprite, che specificano un rettangolo di delimitazione per lo sprite.

Vedere anche


Esempio

Nell'esempio seguente vengono creati uno sprite circle e due sprite target. Il metodo startDrag() viene chiamato sullo sprite circle quando l'utente posiziona il puntatore sopra lo sprite e preme il pulsante del mouse, mentre il metodo stopDrag() viene chiamato quando l'utente rilascia il pulsante del mouse. In questo modo all'utente è consentito di trascinare lo sprite. Al rilascio del pulsante del mouse viene chiamato il metodo mouseRelease(), il quale a propria volta traccia il name dell'oggetto dropTarget (oggetto su cui l'utente ha trascinato lo sprite circle):
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()metodo 
public function stopDrag():void

Versione linguaggio: ActionScript 3.0
Versione lettore: Flash Player 9

Termina il metodo startDrag(). Uno sprite che è stato reso trascinabile mediante il metodo startDrag() rimane tale finché non viene aggiunto un metodo stopDrag() o fino a quando un altro sprite non diventa trascinabile. È possibile trascinare un solo sprite alla volta.

Vedere anche


Esempio

Nell'esempio seguente vengono creati uno sprite circle e due sprite target. Il metodo startDrag() viene chiamato sullo sprite circle quando l'utente posiziona il puntatore sopra lo sprite e preme il pulsante del mouse, mentre il metodo stopDrag() viene chiamato quando l'utente rilascia il pulsante del mouse. In questo modo all'utente è consentito di trascinare lo sprite. Al rilascio del pulsante del mouse viene chiamato il metodo mouseRelease(), il quale a propria volta traccia il name dell'oggetto dropTarget (oggetto su cui l'utente ha trascinato lo sprite circle):
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);
}
Esempi Come utilizzare gli esempi
SpriteExample.as

L'esempio seguente utilizza la classe SpriteExample per disegnare un quadrato arancione sullo stage, quindi invia degli eventi ogni volta che l'utente fa clic sul quadrato o lo trascina. Questa operazione viene eseguita mediante la procedura seguente:
  1. Dichiarare la proprietà size (100 x 100 pixel) e il colore di sfondo (arancione) da utilizzare successivamente durante il disegno del quadrato.
  2. La funzione di costruzione crea quindi un oggetto Sprite child e lo utilizza per aggiungere due listener di eventi e i metodi a essi associati: mouseDownHandler() e mouseUpHandler().
  3. L'oggetto Sprite child viene quindi passato al metodo draw(), che disegna il quadrato arancione.
  4. L'elemento secondario viene inserito nell'elenco di visualizzazione da una chiamata al metodo addChild().
  5. I listener di eventi funzionano nel modo seguente:
    • mouseDownHandler(): quando l'utente fa clic sull'oggetto Sprite, il metodo aggiunge un listener di eventi mouseMove (il metodo mouseMoveHandler()) che elabora i movimenti del mouse. Viene quindi chiamato il metodo startDrag(), che consente di trascinare l'oggetto Sprite.
    • mouseUpHandler(): quando il pulsante del mouse viene rilasciato, il listener di eventi mouseMove viene rimosso e viene chiamato il metodo stopDrag().
    • mouseMoveHandler: fintanto che il pulsante sinistro del mouse viene tenuto premuto, questo metodo indica a Flash Player di ridisegnare continuamente il quadrato arancione.

Nota: ognuno dei metodi dei listener di eventi dichiara una variabile sprite locale, che viene assegnata alla proprietà target dell'evento.


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();
        }
    }
}




 

Inviami un messaggio e-mail quando vengono aggiunti dei commenti a questa | Rapporto sui commenti

Pagina corrente: http://livedocs.adobe.com/flash/9.0_it/ActionScriptLangRefV3/flash/display/Sprite.html