Paqueteflash.display
Clasepublic class Sprite
HerenciaSprite Inheritance DisplayObjectContainer Inheritance InteractiveObject Inheritance DisplayObject Inheritance EventDispatcher Inheritance Object
Subclases FLVPlayback, FLVPlaybackCaptioning, MovieClip, UIComponent

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

La clase Sprite es un elemento constituyente básico de la lista de visualización: un nodo de la lista de visualización que puede mostrar gráficos y también contener elementos secundarios.

Un objeto Sprite es similar a un clip de película, pero carece de línea de tiempo. Sprite es una clase base adecuada para objetos que no requieren líneas de tiempo. Por ejemplo, Sprite sería una clase base lógica para componentes de interfaz de usuario (IU) que típicamente no utilizan línea de tiempo.

La clase Sprite es una novedad de ActionScript 3.0. Proporciona una alternativa a la funcionalidad de la clase MovieClip, que conserva toda la funcionalidad de versiones anteriores de ActionScript para ofrecer compatibilidad retroactiva.

Ver los ejemplos

Véase también

Clases principales de visualización


Propiedades públicas
 PropiedadDefinido por
 InheritedaccessibilityProperties : AccessibilityProperties
Las opciones de accesibilidad actuales para este objeto de visualización.
DisplayObject
 Inheritedalpha : Number
Indica el valor de transparencia alfa del objeto especificado.
DisplayObject
 InheritedblendMode : String
Un valor de la clase BlendMode que especifica el modo de mezcla que debe utilizarse.
DisplayObject
  buttonMode : Boolean
Especifica el modo de botón de este elemento sprite.
Sprite
 InheritedcacheAsBitmap : Boolean
Si se define como true, Flash Player deja en caché una representación interna de mapa de bits del objeto de visualización.
DisplayObject
 Inheritedconstructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada.
Object
 InheritedcontextMenu : ContextMenu
Especifica el menú contextual asociado a este objeto.
InteractiveObject
 InheriteddoubleClickEnabled : Boolean
Especifica si este objeto recibe eventos doubleClick.
InteractiveObject
  dropTarget : DisplayObject
[read-only] Especifica el objeto de visualización sobre el que se está arrastrando el elemento sprite o sobre el que se ha colocado el elemento sprite.
Sprite
 Inheritedfilters : Array
Matriz indexada que contiene todos los objetos de filtro actualmente asociados con el objeto de visualización.
DisplayObject
 InheritedfocusRect : Object
Especifica si este objeto muestra un rectángulo de selección.
InteractiveObject
  graphics : Graphics
[read-only] Especifica el objeto Graphics que pertenece a este elemento sprite, donde pueden ejecutarse comandos de dibujo vectorial.
Sprite
 Inheritedheight : Number
Indica la altura del objeto de visualización, expresada en píxeles.
DisplayObject
  hitArea : Sprite
Designa otro elemento sprite para que actúe como área activa de un elemento sprite.
Sprite
 InheritedloaderInfo : LoaderInfo
[read-only] Devuelve un objeto LoaderInfo que contiene información sobre la carga del archivo al que pertenece este objeto de visualización.
DisplayObject
 Inheritedmask : DisplayObject
El objeto de visualización que origina la llamada se enmascara mediante el objeto mask especificado.
DisplayObject
 InheritedmouseChildren : Boolean
Determina si los elementos secundarios del objeto están habilitados para ratón.
DisplayObjectContainer
 InheritedmouseEnabled : Boolean
Especifica si este objeto recibe mensajes de ratón.
InteractiveObject
 InheritedmouseX : Number
[read-only] Indica la coordenada x de la posición del ratón en píxeles.
DisplayObject
 InheritedmouseY : Number
[read-only] Indica la coordenada y de la posición del ratón en píxeles.
DisplayObject
 Inheritedname : String
Indica el nombre de instancia de DisplayObject.
DisplayObject
 InheritednumChildren : int
[read-only] Devuelve el número de elementos secundarios de este objeto.
DisplayObjectContainer
 InheritedopaqueBackground : Object
Especifica si el objeto de visualización es opaco con un determinado color de fondo.
DisplayObject
 Inheritedparent : DisplayObjectContainer
[read-only] Indica el objeto DisplayObjectContainer que contiene este objeto de visualización.
DisplayObject
 Inheritedprototype : Object
[static] Una referencia al objeto prototipo de una clase u objeto de función.
Object
 Inheritedroot : DisplayObject
[read-only] Para un objeto de visualización en un archivo SWF cargado, la propiedad root es el objeto de visualización de nivel más alto en la parte de la estructura de árbol de la lista de visualización representada por dicho archivo SWF.
DisplayObject
 Inheritedrotation : Number
Indica el giro de la instancia de DisplayObject, expresado en grados, con respecto a su orientación original.
DisplayObject
 Inheritedscale9Grid : Rectangle
La cuadrícula de escala aplicada actualmente.
DisplayObject
 InheritedscaleX : Number
Indica la escala horizontal (percentage) del objeto aplicada desde el punto de registro.
DisplayObject
 InheritedscaleY : Number
Indica la escala vertical (percentage) de un objeto aplicada desde el punto de registro del objeto.
DisplayObject
 InheritedscrollRect : Rectangle
Los límites del rectángulo de desplazamiento del objeto de visualización.
DisplayObject
  soundTransform : SoundTransform
Controla el sonido dentro de este elemento sprite.
Sprite
 Inheritedstage : Stage
[read-only] El escenario del objeto de visualización.
DisplayObject
 InheritedtabChildren : Boolean
Determina si los elementos secundarios del objeto están habilitados para tabulación.
DisplayObjectContainer
 InheritedtabEnabled : Boolean
Especifica si este objeto está en el orden de tabulación.
InteractiveObject
 InheritedtabIndex : int
Especifica el orden de tabulación de los objetos de un archivo SWF.
InteractiveObject
 InheritedtextSnapshot : TextSnapshot
[read-only] Devuelve un objeto TextSnapshot para esta instancia de DisplayObjectContainer.
DisplayObjectContainer
 Inheritedtransform : Transform
Objeto con propiedades pertenecientes a una matriz, transformación de color y límites de píxel de un objeto de visualización.
DisplayObject
  useHandCursor : Boolean
Valor booleano que indica si debe aparecer la mano que señala (cursor de mano) cuando el ratón pasa por encima de un elemento sprite en el que la propiedad buttonMode se ha definido con el valor true.
Sprite
 Inheritedvisible : Boolean
Indica si el objeto de visualización es visible.
DisplayObject
 Inheritedwidth : Number
Indica la anchura del objeto de visualización, expresada en píxeles.
DisplayObject
 Inheritedx : Number
Indica la coordenada x de la instancia de DisplayObject en relación a las coordenadas locales del DisplayObjectContainer principal.
DisplayObject
 Inheritedy : Number
Indica la coordenada y de la instancia de DisplayObject en relación a las coordenadas locales del DisplayObjectContainer principal.
DisplayObject
Métodos públicos
 MétodoDefinido por
  
Crea una nueva instancia de Sprite.
Sprite
 Inherited
Añade una instancia secundaria de DisplayObject a esta instancia de DisplayObjectContainer.
DisplayObjectContainer
 Inherited
Añade una instancia secundaria de DisplayObject a esta instancia de DisplayObjectContainer.
DisplayObjectContainer
 Inherited
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
Registra un objeto de detector de eventos con un objeto EventDispatcher, de modo que el detector reciba la notificación de un evento.
EventDispatcher
 Inherited
Indica si las restricciones de seguridad provocarían la omisión de objetos de visualización de la lista devuelta al llamar al método DisplayObjectContainer.getObjectsUnderPoint() con el punto point especificado.
DisplayObjectContainer
 Inherited
Determina si el objeto de visualización especificado es un elemento secundario de la instancia de DisplayObjectContainer o la propia instancia.
DisplayObjectContainer
 Inherited
Distribuye un evento en el flujo del evento.
EventDispatcher
 Inherited
getBounds(targetCoordinateSpace:DisplayObject):Rectangle
Devuelve un rectángulo que define el área del objeto de visualización relativo al sistema de coordenadas del objeto targetCoordinateSpace.
DisplayObject
 Inherited
Devuelve la instancia del objeto de visualización secundario que sale del índice especificado.
DisplayObjectContainer
 Inherited
Devuelve el objeto de visualización secundario que sale con el nombre especificado.
DisplayObjectContainer
 Inherited
Devuelve la posición de índice de una instancia secundaria de DisplayObject.
DisplayObjectContainer
 Inherited
Devuelve una matriz de objetos que quedan bajo el punto especificado y son elementos secundarios (o terciarios, etc.) de esta instancia de DisplayObjectContainer.
DisplayObjectContainer
 Inherited
getRect(targetCoordinateSpace:DisplayObject):Rectangle
Devuelve un rectángulo que define el límite del objeto de visualización, basado en el sistema de coordenadas definido por el parámetro targetCoordinateSpace, excluyendo los trazos en las formas.
DisplayObject
 Inherited
Convierte el objeto point de las coordenadas del escenario (globales) en las coordenadas del objeto de visualización (locales).
DisplayObject
 Inherited
Comprueba si el objeto EventDispatcher tiene detectores registrados para un tipo concreto de evento.
EventDispatcher
 Inherited
Indica si un objeto tiene definida una propiedad especificada.
Object
 Inherited
Evalúa el objeto de visualización para comprobar si se solapa o presenta un punto de intersección con el objeto de visualización obj.
DisplayObject
 Inherited
hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
Evalúa el objeto de visualización para comprobar si se solapa o presenta un punto de intersección con el punto especificado por los parámetros x e y.
DisplayObject
 Inherited
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro.
Object
 Inherited
Convierte el objeto point de coordenadas del objeto de visualización (locales) en coordenadas del escenario (globales).
DisplayObject
 Inherited
Indica si existe la propiedad especificada y si es enumerable.
Object
 Inherited
Elimina la instancia child de DisplayObject especificada de la lista de elementos secundarios de la instancia de DisplayObjectContainer.
DisplayObjectContainer
 Inherited
Elimina una instancia de DisplayObject secundaria de la posición de índice especificada en la lista de elementos secundarios de DisplayObjectContainer.
DisplayObjectContainer
 Inherited
removeEventListener(type:String, listener:Function, useCapture:Boolean = false):void
Elimina un detector del objeto EventDispatcher.
EventDispatcher
 Inherited
Cambia la posición de un elemento secundario existente en el contendor de objeto de visualización.
DisplayObjectContainer
 Inherited
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle.
Object
  
startDrag(lockCenter:Boolean = false, bounds:Rectangle = null):void
Permite al usuario arrastrar el elemento sprite especificado.
Sprite
  
Finaliza el método startDrag().
Sprite
 Inherited
Intercambia el orden z (de delante a atrás) de los dos objetos secundarios especificados.
DisplayObjectContainer
 Inherited
swapChildrenAt(index1:int, index2:int):void
Intercambia el orden z (de delante a atrás) de los objetos secundarios situados en las posiciones de índice especificadas en la lista de elementos secundarios.
DisplayObjectContainer
 Inherited
Devuelve la representación de cadena del objeto especificado.
Object
 Inherited
Devuelve el valor simple del objeto especificado.
Object
 Inherited
Comprueba si hay registrado un detector de eventos con este objeto EventDispatcher o con cualquiera de sus ascendientes para el tipo de evento concreto.
EventDispatcher
Eventos
 Evento Resumen Definido por
 Inherited Se distribuye cuando Flash Player queda seleccionado por el sistema operativo y pasa a estar activo.EventDispatcher
 Inherited Se distribuye cuando un objeto de visualización se añade a la lista de visualización.DisplayObject
 Inherited Se distribuye cuando un objeto de visualización se añade a la lista de visualización del escenario, bien directamente o a través de un subárbol que contiene el objeto de visualización.DisplayObject
 Inherited Se distribuye cuando un usuario pulsa y suelta el botón principal del dispositivo de señalización sobre el mismo objeto InteractiveObject.InteractiveObject
 Inherited Se distribuye cuando Flash Player deja de estar seleccionado por el sistema operativo y pasa a estar inactivo.EventDispatcher
 Inherited Se distribuye cuando un usuario pulsa y suelta el botón principal de un dispositivo de señalización dos veces en una sucesión rápida sobre el mismo objeto InteractiveObject cuando el indicador doubleClickEnabled de dicho objeto se ha definido como true.InteractiveObject
 Inherited Se distribuye cuando la cabeza lectora entra en un nuevo fotograma.DisplayObject
 Inherited Se distribuye después de que un objeto de visualización quede seleccionado.InteractiveObject
 Inherited Se distribuye después de que un objeto de visualización deje de estar seleccionado.InteractiveObject
 Inherited Se distribuye cuando el usuario pulsa una tecla.InteractiveObject
 Inherited Se distribuye cuando el usuario intenta cambiar la selección empleando la navegación mediante teclado.InteractiveObject
 Inherited Se distribuye cuando el usuario suelta una tecla.InteractiveObject
 Inherited Se distribuye cuando el usuario pulsa el botón del dispositivo de señalización sobre una instancia de InteractiveObject en la ventana de Flash Player.InteractiveObject
 Inherited Se distribuye cuando el usuario intenta cambiar la selección empleando un dispositivo de señalización.InteractiveObject
 Inherited Se distribuye cuando el usuario mueve el dispositivo de señalización mientras éste se encuentra sobre un InteractiveObject.InteractiveObject
 Inherited Se distribuye cuando el usuario mueve un dispositivo de señalización hacia el exterior de una instancia de InteractiveObject.InteractiveObject
 Inherited Se distribuye cuando el usuario pasa el dispositivo de señalización por encima de una instancia de InteractiveObject en la ventana de Flash Player.InteractiveObject
 Inherited Se distribuye cuando el usuario suelta el botón del dispositivo de señalización sobre una instancia de InteractiveObject en la ventana de Flash Player.InteractiveObject
 Inherited Se distribuye cuando se hace girar una rueda de ratón sobre una instancia de InteractiveObject en la ventana de Flash Player.InteractiveObject
 Inherited Se distribuye cuando un objeto de visualización se va a eliminar de la lista de visualización.DisplayObject
 Inherited Se distribuye cuando un objeto de visualización se va a eliminar de la lista de visualización, bien directamente o a través de la eliminación de un subárbol que contiene el objeto de visualización.DisplayObject
 Inherited Se distribuye cuando la lista de visualización se va a actualizar y mostrar.DisplayObject
 Inherited Se distribuye cuando el usuario mueve un dispositivo de señalización hacia el exterior de una instancia de InteractiveObject.InteractiveObject
 Inherited Se distribuye cuando el usuario mueve un dispositivo de señalización sobre una instancia de InteractiveObject.InteractiveObject
 Inherited Se distribuye cuando cambia el valor del indicador tabChildren del objeto.InteractiveObject
 Inherited Se distribuye cuando cambia el indicador tabEnabled del objeto.InteractiveObject
 Inherited Se distribuye cuando cambia el valor de la propiedad tabIndex del objeto.InteractiveObject
Información sobre propiedades
buttonModepropiedad
buttonMode:Boolean  [read-write]

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Especifica el modo de botón de este elemento sprite. Si el valor es true, este elemento sprite se comporta como un botón, lo que significa que activa la visualización del cursor de mano cuando el cursor pasa por encima del elemento sprite y puede recibir un evento click si se presionan las teclas Intro o espacio cuando está seleccionado el elemento sprite. Puede suprimir la visualización del cursor de mano al definir la propiedad useHandCursor con el valor false, en cuyo caso se muestra el puntero.

Aunque es preferible utilizar la clase SimpleButton para crear botones, puede utilizar la propiedad buttonMode con el fin de dar a un elemento sprite alguna funcionalidad de botón. Para incluir un elemento sprite en el orden de tabulación, defina la propiedad tabEnabled (heredada de la clase InteractiveObject y con el valor predeterminado false) con el valor true. Además, decida si desea que los elementos secundarios del elemento sprite estén habilitados para ratón. La mayoría de los botones no activan la interactividad de ratón para sus objetos secundarios, ya que ello genera confusión en el flujo de eventos. Para desactivar la interactividad de ratón para todos los objetos secundarios, debe definir la propiedad mouseChildren (heredada de la clase DisplayObjectContainer) con el valor false.

Si utiliza la propiedad buttonMode con la clase MovieClip (que es una subclase de la clase Sprite), el botón puede tener alguna funcionalidad añadida. Si incluye fotogramas etiquetados con _up, _over y _down, Flash Player proporcionará cambios de estado automáticos (funcionalidad similar a la que se ofrecía en versiones anteriores de ActionScript para clips de película utilizados como botones). Estos cambios de estado automáticos no están disponibles para elementos sprite, que carecen de línea de tiempo y, por consiguiente, no tienen fotogramas que etiquetar.


Implementación
    public function get buttonMode():Boolean
    public function set buttonMode(value:Boolean):void

Véase también


Ejemplo

En el ejemplo siguiente, se crean dos elementos sprites y se establece la propiedad buttonMode como true para uno y como false para el otro. Al compilar y ejecutar la aplicación, ambos elementos sprites responden a los eventos del ratón, pero sólo el que tiene buttonMode definido como true utiliza el cursor de mano y se incluye en el orden de tabulación:
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);
dropTargetpropiedad 
dropTarget:DisplayObject  [read-only]

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Especifica el objeto de visualización sobre el que se está arrastrando el elemento sprite o sobre el que se ha colocado el elemento sprite.


Implementación
    public function get dropTarget():DisplayObject

Véase también


Ejemplo

En el ejemplo siguiente, se crea un objeto sprite circle y dos objetos sprite target. Se llama al método startDrag() en el elemento sprite circle cuando el usuario coloca el cursor sobre el elemento sprite y presiona el botón del ratón; y se llama al método stopDrag() cuando el usuario suelta el botón del ratón. De este modo, el usuario puede arrastrar el elemento sprite. Al soltar el botón del ratón, se llama al método mouseRelease() que, a su vez, rastrea la propiedad name del objeto dropTarget, aquél donde el usuario arrastró el elemento 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);
}
graphicspropiedad 
graphics:Graphics  [read-only]

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Especifica el objeto Graphics que pertenece a este elemento sprite, donde pueden ejecutarse comandos de dibujo vectorial.


Implementación
    public function get graphics():Graphics

Ejemplo

En el ejemplo siguiente, se crea un objeto sprite circle y se emplea su propiedad graphics para dibujar un círculo con un relleno (0xFFCC00) amarillo:
import flash.display.Sprite;

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

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Designa otro elemento sprite para que actúe como área activa de un elemento sprite. Si la propiedad hitArea no existe o tiene el valor null o undefined, se utilizará el propio elemento sprite como área activa. El valor de la propiedad hitArea puede ser una referencia a un objeto Sprite.

Puede cambiar la propiedad hitArea en cualquier momento; el elemento sprite modificado adoptará de inmediato el nuevo comportamiento de área activa. No es preciso que el elemento sprite designado como área activa sea visible; se detectará la condición de "activa" de su forma gráfica aunque no sea visible.

Nota: debe establecer con el valor false la propiedad mouseEnabled del elemento sprite designado como área activa. En caso contrario, el botón sprite podría no funcionar, ya que el elemento sprite designado como área activa recibe eventos del ratón en lugar del botón sprite.


Implementación
    public function get hitArea():Sprite
    public function set hitArea(value:Sprite):void

Ejemplo

En el ejemplo siguiente, se crea un objeto sprite circle y otro square. El objeto sprite square es la propiedad hitArea para el objeto sprite circle. De este modo, cuando el usuario hace clic en el objeto sprite square, circle distribuye 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);
soundTransformpropiedad 
soundTransform:SoundTransform  [read-write]

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Controla el sonido dentro de este elemento sprite.


Implementación
    public function get soundTransform():SoundTransform
    public function set soundTransform(value:SoundTransform):void

Véase también


Ejemplo

En el ejemplo siguiente, se crea un elemento sprite denominado container Loader a la lista de elementos secundarios. El objeto Loader carga un archivo SWF. Cuando el usuario hace clic en el vínculo del campo de texto tf true, el método mute() establece la propiedad volume de la propiedad soundTransform del objeto 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.");
}
useHandCursorpropiedad 
useHandCursor:Boolean  [read-write]

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Valor booleano que indica si debe aparecer la mano que señala (cursor de mano) cuando el ratón pasa por encima de un elemento sprite en el que la propiedad buttonMode se ha definido con el valor true. El valor predeterminado de la propiedad useHandCursor es true. Si useHandCursor se establece con el valor true, la mano que señala empleada para los botones se mostrará cuando el ratón pase por encima de un elemento sprite de botón. Si useHandCursor se establece con el valor false, se utilizará el puntero de flecha.

Puede cambiar la propiedad useHandCursor en cualquier momento; el elemento sprite modificado adoptará de inmediato el nuevo aspecto de cursor.


Implementación
    public function get useHandCursor():Boolean
    public function set useHandCursor(value:Boolean):void

Véase también


Ejemplo

En el ejemplo siguiente, se crean dos elementos sprites y se establece la propiedad buttonMode como true para ambos, sin embargo, la propiedad useHandCursor se define como true para uno y como false para el otro. Al compilar y ejecutar la aplicación, ambos elementos sprites responden como botones (y se incluyen en el orden de tabulación), pero sólo el que tiene useHandCursor definido como true utiliza el cursor de 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);
Información sobre constructores
Sprite()constructor
public function Sprite()

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Crea una nueva instancia de Sprite. Tras crear la instancia de Sprite, llame al método DisplayObjectContainer.addChild() o DisplayObjectContainer.addChildAt() para añadir la instancia Sprite a una instancia DisplayObjectContainer principal.

Información sobre métodos
startDrag()método
public function startDrag(lockCenter:Boolean = false, bounds:Rectangle = null):void

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Permite al usuario arrastrar el elemento sprite especificado. El elemento sprite se puede seguir arrastrando hasta que se detenga explícitamente mediante una llamada a Sprite.stopDrag() o hasta que otro elemento sprite pueda arrastrarse. Sólo es posible arrastrar elementos sprite de uno en uno.

Parámetros

lockCenter:Boolean (default = false) — Especifica si el elemento sprite arrastrable está bloqueado en el centro de la posición del ratón (true) o en el punto donde el usuario hizo clic por primera vez en el elemento sprite (false).
 
bounds:Rectangle (default = null) — Valor relativo a las coordenadas del elemento principal del elemento Sprite, que especifican un rectángulo limitado para el elemento Sprite.

Véase también


Ejemplo

En el ejemplo siguiente, se crea un objeto sprite circle y dos objetos sprite target. Se llama al método startDrag() en el elemento sprite circle cuando el usuario coloca el cursor sobre el elemento sprite y presiona el botón del ratón; y se llama al método stopDrag() cuando el usuario suelta el botón del ratón. De este modo, el usuario puede arrastrar el elemento sprite. Al soltar el botón del ratón, se llama al método mouseRelease() que, a su vez, rastrea la propiedad name del objeto dropTarget, aquél donde el usuario arrastró el elemento 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()método 
public function stopDrag():void

Versión del lenguaje: ActionScript 3.0
Versión del reproductor: Flash Player 9

Finaliza el método startDrag(). Un elemento sprite que se ha convertido en arrastrable con el método startDrag() podrá arrastrarse hasta que se añada un método stopDrag() o hasta que se pueda arrastrar otro elemento sprite. Sólo es posible arrastrar elementos sprite de uno en uno.

Véase también


Ejemplo

En el ejemplo siguiente, se crea un objeto sprite circle y dos objetos sprite target. Se llama al método startDrag() en el elemento sprite circle cuando el usuario coloca el cursor sobre el elemento sprite y presiona el botón del ratón; y se llama al método stopDrag() cuando el usuario suelta el botón del ratón. De este modo, el usuario puede arrastrar el elemento sprite. Al soltar el botón del ratón, se llama al método mouseRelease() que, a su vez, rastrea la propiedad name del objeto dropTarget, aquél donde el usuario arrastró el elemento 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);
}
Ejemplos Cómo utilizar los ejemplos
SpriteExample.as

En el ejemplo siguiente, se utiliza la clase SpriteExample para dibujar un cuadrado naranja en el escenario y después se distribuyen los eventos cada vez que el usuario hace clic en el cuadrado o lo arrastra. Esta tarea se consigue realizando los pasos siguientes:
  1. Declare la propiedad size (100 x 100 píxeles) y el color de fondo (naranja) para utilizarlos después al dibujar el cuadrado.
  2. A continuación, el constructor crea un nuevo objeto Sprite child y lo emplea para añadir dos detectores de eventos y los métodos asociados: mouseDownHandler() y mouseUpHandler().
  3. El objeto Sprite child se transfiere después al método draw(), que dibuja el cuadrado naranja.
  4. El elemento secundario se coloca en la lista de visualización mediante una llamada al método addChild().
  5. Los detectores de eventos funcionan del modo siguiente:
    • mouseDownHandler(): cuando el usuario hace clic en el objeto Sprite, este método añade un detector de eventos mouseMove, el método mouseMoveHandler(), que procesa los movimientos del ratón. Posteriormente se llama al método startDrag(), que permite que se arrastre el objeto Sprite.
    • mouseUpHandler(): cuando se suelta el botón del ratón, se elimina el detector de eventos mouseMove y se llama al método stopDrag() que fija el cuadrado naranja en su lugar correspondiente.
    • mouseMoveHandler: siempre que el botón izquierdo del ratón esté pulsado, este método da instrucciones al reproductor para que vuelva a dibujar continuamente el cuadrado naranja.

Nota: cada uno de los métodos de detectores de eventos declara una variable local sprite local, que se asigna como propiedad target del 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();
        }
    }
}




 

Enviarme un mensaje de correo electrónico cuando se añadan comentarios a esta página | Informe de comentarios

Página actual: http://livedocs.adobe.com/flash/9.0_es/ActionScriptLangRefV3/flash/display/Sprite.html