Paquete | flash.display |
Clase | public class DisplayObjectContainer |
Herencia | DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object |
Subclases | Loader, Sprite, Stage, TextLine |
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
DisplayObject es una clase base abstracta; por consiguiente, no puede llamar a DisplayObject directamente. Al llamar a new DisplayObject()
se emite una excepción ArgumentError
.
new DisplayObjectContainer()
, el constructor emite una excepción ArgumentError
.
Para obtener más información, consulte el capítulo “Programación de visualización” de la Guía del desarrollador de ActionScript 3.0.
Elementos de API relacionados
Propiedad | Definido por | ||
---|---|---|---|
accessibilityImplementation : AccessibilityImplementation
La implementación actual de accesibilidad (AccessibilityImplementation) para esta instancia de InteractiveObject. | InteractiveObject | ||
accessibilityProperties : AccessibilityProperties
Las opciones de accesibilidad actuales para este objeto de visualización. | DisplayObject | ||
alpha : Number
Indica el valor de transparencia alfa del objeto especificado. | DisplayObject | ||
blendMode : String
Un valor de la clase BlendMode que especifica el modo de mezcla que debe utilizarse. | DisplayObject | ||
blendShader : Shader [solo escritura]
Define un sombreado para utilizarlo en la mezcla del primer plano y del fondo. | DisplayObject | ||
cacheAsBitmap : Boolean
Si se define como true, los motores de ejecución de Flash dejan en caché una representación interna de mapa de bits del objeto de visualización. | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
Si su valor no es null, este objeto Matrix define cómo un objeto de visualización se procesa cuando cacheAsBitmap se define como true. | DisplayObject | ||
constructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada. | Object | ||
contextMenu : NativeMenu
Especifica el menú contextual asociado a este objeto. | InteractiveObject | ||
doubleClickEnabled : Boolean
Especifica si este objeto recibe eventos doubleClick. | InteractiveObject | ||
filters : Array
Conjunto indexado que contiene todos los objetos de filtro actualmente asociados con el objeto de visualización. | DisplayObject | ||
focusRect : Object
Especifica si este objeto muestra un rectángulo de selección. | InteractiveObject | ||
height : Number
Indica la altura del objeto de visualización, expresada en píxeles. | DisplayObject | ||
loaderInfo : LoaderInfo [solo lectura]
Devuelve un objeto LoaderInfo que contiene información sobre la carga del archivo al que pertenece este objeto de visualización. | DisplayObject | ||
mask : DisplayObject
El objeto de visualización que origina la llamada se enmascara mediante el objeto mask especificado. | DisplayObject | ||
metaData : Object
Obtiene el objeto de metadatos de la instancia de DisplayObject si los metadatos se almacenaron con la instancia de este objeto DisplayObject en el archivo SWF a través de una etiqueta PlaceObject4. | DisplayObject | ||
mouseChildren : Boolean
Determina si los elementos secundarios del objeto están activados para acciones de ratón o de dispositivo de entrada de usuario. | DisplayObjectContainer | ||
mouseEnabled : Boolean
Especifica si este objeto recibe la entrada del ratón, la entrada del usuario o mensajes. | InteractiveObject | ||
mouseX : Number [solo lectura]
Indica la coordenada x de la posición del ratón o del dispositivo de entrada del usuario, en píxeles. | DisplayObject | ||
mouseY : Number [solo lectura]
Indica la coordenada y de la posición del ratón o del dispositivo de entrada del usuario, en píxeles. | DisplayObject | ||
name : String
Indica el nombre de instancia de DisplayObject. | DisplayObject | ||
needsSoftKeyboard : Boolean
Especifica si un teclado virtual (teclado en pantalla) se debe mostrar cuando esta instancia de InteractiveObject recibe la selección. | InteractiveObject | ||
numChildren : int [solo lectura]
Devuelve el número de elementos secundarios de este objeto. | DisplayObjectContainer | ||
opaqueBackground : Object
Especifica si el objeto de visualización es opaco con un determinado color de fondo. | DisplayObject | ||
parent : DisplayObjectContainer [solo lectura]
Indica el objeto DisplayObjectContainer que contiene este objeto de visualización. | DisplayObject | ||
root : DisplayObject [solo lectura]
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 | ||
rotation : Number
Indica el giro de la instancia de DisplayObject, expresado en grados, con respecto a su orientación original. | DisplayObject | ||
rotationX : Number
Indica la rotación del eje x de la instancia de DisplayObject, en grados, desde su orientación original relativa al contenedor principal 3D. | DisplayObject | ||
rotationY : Number
Indica la rotación del eje y de la instancia de DisplayObject, en grados, desde su orientación original relativa al contenedor principal 3D. | DisplayObject | ||
rotationZ : Number
Indica la rotación del eje z de la instancia de DisplayObject, en grados, desde su orientación original relativa al contenedor principal 3D. | DisplayObject | ||
scale9Grid : Rectangle
La cuadrícula de escala aplicada actualmente. | DisplayObject | ||
scaleX : Number
Indica la escala horizontal (percentage) del objeto aplicada desde el punto de registro. | DisplayObject | ||
scaleY : Number
Indica la escala vertical (percentage) de un objeto aplicada desde el punto de registro del objeto. | DisplayObject | ||
scaleZ : Number
Indica la escala de profundidad (porcentaje) de un objeto aplicada desde el punto de registro del objeto. | DisplayObject | ||
scrollRect : Rectangle
Los límites del rectángulo de desplazamiento del objeto de visualización. | DisplayObject | ||
softKeyboard : String
Controla la apariencia del teclado virtual. | InteractiveObject | ||
softKeyboardInputAreaOfInterest : Rectangle
Define el área que debe permanecer en pantalla cuando se muestra un teclado virtual (no disponible en iOS). | InteractiveObject | ||
stage : Stage [solo lectura]
El escenario del objeto de visualización. | DisplayObject | ||
tabChildren : Boolean
Determina si los elementos secundarios del objeto están habilitados para tabulación. | DisplayObjectContainer | ||
tabEnabled : Boolean
Especifica si este objeto está en el orden de tabulación. | InteractiveObject | ||
tabIndex : int
Especifica el orden de tabulación de los objetos de un archivo SWF. | InteractiveObject | ||
textSnapshot : flash.text:TextSnapshot [solo lectura]
Devuelve un objeto TextSnapshot para esta instancia de DisplayObjectContainer. | DisplayObjectContainer | ||
transform : flash.geom: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 | ||
visible : Boolean
Indica si el objeto de visualización es visible. | DisplayObject | ||
width : Number
Indica la anchura del objeto de visualización, expresada en píxeles. | DisplayObject | ||
x : Number
Indica la coordenada x de la instancia de DisplayObject en relación a las coordenadas locales del DisplayObjectContainer principal. | DisplayObject | ||
y : Number
Indica la coordenada y de la instancia de DisplayObject en relación a las coordenadas locales del DisplayObjectContainer principal. | DisplayObject | ||
z : Number
Indica la posición de la coordenada z en el eje z de la instancia de DisplayObject relativa al contenedor principal 3D. | DisplayObject |
Método | Definido por | ||
---|---|---|---|
La llamada al nuevo constructor DisplayObjectContainer() emite una excepción ArgumentError. | DisplayObjectContainer | ||
Añade una instancia secundaria de DisplayObject a esta instancia de DisplayObjectContainer. | DisplayObjectContainer | ||
Añade una instancia secundaria de DisplayObject a esta instancia de DisplayObjectContainer. | DisplayObjectContainer | ||
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 | ||
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 | ||
Determina si el objeto de visualización especificado es un elemento secundario de la instancia de DisplayObjectContainer o la propia instancia. | DisplayObjectContainer | ||
Distribuye un evento en el flujo del evento. | EventDispatcher | ||
Devuelve un rectángulo que define el área del objeto de visualización relativo al sistema de coordenadas del objeto targetCoordinateSpace. | DisplayObject | ||
Devuelve la instancia del objeto de visualización secundario que sale del índice especificado. | DisplayObjectContainer | ||
Devuelve el objeto de visualización secundario que sale con el nombre especificado. | DisplayObjectContainer | ||
Devuelve la posición de índice de una instancia secundaria de DisplayObject. | DisplayObjectContainer | ||
Devuelve un conjunto de objetos que quedan bajo el punto especificado y son elementos secundarios (o terciarios, etc.) de esta instancia de DisplayObjectContainer. | DisplayObjectContainer | ||
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 | ||
Convierte el objeto point de las coordenadas del escenario (globales) en las coordenadas del objeto de visualización (locales). | DisplayObject | ||
Convierte un punto bidimensional de las coordenadas (globales) del escenario en coordenadas (locales) de un objeto tridimensional. | DisplayObject | ||
Comprueba si el objeto EventDispatcher tiene detectores registrados para un tipo concreto de evento. | EventDispatcher | ||
Indica si un objeto tiene definida una propiedad especificada. | Object | ||
Calcula el cuadro delimitador del objeto de visualización para ver si se solapa o corta con el cuadro delimitador del objeto de visualización obj. | DisplayObject | ||
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 | ||
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro. | Object | ||
Convierte un punto tridimensional de las coordenadas (locales) del objeto de visualización tridimensional en un punto bidimensional en las coordenadas (globales) del escenario. | DisplayObject | ||
Convierte el objeto point de coordenadas del objeto de visualización (locales) en coordenadas del escenario (globales). | DisplayObject | ||
Indica si existe la propiedad especificada y si es enumerable. | Object | ||
Elimina la instancia child de DisplayObject especificada de la lista de elementos secundarios de la instancia de DisplayObjectContainer. | DisplayObjectContainer | ||
Elimina una instancia de DisplayObject secundaria de la posición de índice especificada en la lista de elementos secundarios de DisplayObjectContainer. | DisplayObjectContainer | ||
Elimina todas las instancias child de DisplayObject especificadas de la lista de elementos secundarios de la instancia de DisplayObjectContainer. | DisplayObjectContainer | ||
Elimina un detector del objeto EventDispatcher. | EventDispatcher | ||
Muestra un teclado virtual. | InteractiveObject | ||
Cambia la posición de un elemento secundario existente en el contendor de objeto de visualización. | DisplayObjectContainer | ||
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle. | Object | ||
Se detiene gradualmente la ejecución de línea de tiempo de todos los objetos MovieClip con raíz en este objeto. | DisplayObjectContainer | ||
Intercambia el orden z (de delante a atrás) de los dos objetos secundarios especificados. | DisplayObjectContainer | ||
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 | ||
Devuelve la representación de cadena de este objeto, con formato según las convenciones específicas de configuración regional. | Object | ||
Devuelve la representación de cadena del objeto especificado. | Object | ||
Devuelve el valor simple del objeto especificado. | Object | ||
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 |
mouseChildren | propiedad |
mouseChildren:Boolean
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Determina si los elementos secundarios del objeto están activados para acciones de ratón o de dispositivo de entrada de usuario. Si un objeto está activado, el usuario puede interactuar con él por medio de un ratón o de un dispositivo de entrada de usuario. El valor predeterminado es true
.
Esta propiedad es útil cuando se crea un botón con una instancia de la clase Sprite (en lugar de utilizar la clase SimpleButton). Cuando utilice una instancia de Sprite para crear un botón, podrá optar por decorar el botón empleando el método addChild()
para añadir instancias adicionales de Sprite. Este proceso puede provocar un comportamiento inesperado con los eventos de ratón, ya que las instancias de Sprite que añada como elementos secundarios pueden convertirse en el objeto de destino de un evento de ratón cuando se espera que la instancia principal sea el objeto de destino. Para asegurarse de que la instancia principal actúa como objeto de destino de los eventos de ratón, puede establecer la propiedad mouseChildren
de la instancia principal con el valor false
.
No se distribuye ningún evento al establecer esta propiedad. Debe utilizar el método addEventListener()
para crear funcionalidad interactiva.
Implementación
public function get mouseChildren():Boolean
public function set mouseChildren(value:Boolean):void
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
container
y se muestra que cuando se establece la propiedad mouseChildren
como false
, el destino de un evento mouseClick
es el objeto container
, no cualquiera de sus objetos secundarios:
import flash.display.Sprite; import flash.events.MouseEvent; var container:Sprite = new Sprite(); container.name = "container"; addChild(container); var circle:Sprite = new Sprite(); circle.name = "circle"; circle.graphics.beginFill(0xFFCC00); circle.graphics.drawCircle(40, 40, 40); container.addChild(circle); container.mouseChildren = false; container.addEventListener(MouseEvent.CLICK, clicked); function clicked(event:MouseEvent):void { trace(event.target.name); // container }
numChildren | propiedad |
numChildren:int
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Devuelve el número de elementos secundarios de este objeto.
Implementación
public function get numChildren():int
Ejemplo ( Cómo utilizar este ejemplo )
container1
y container2
. Sprite es un tipo de contenedor de objeto de visualización. El ejemplo llama al método addChild()
para configurar la jerarquía de visualización: container1
es un elemento secundario de container2
y los otros dos objetos de visualización, circle1
y circle2
, son elementos secundarios de container1
. Las llamadas al método trace()
muestran el número de objetos secundarios de cada objeto. Observe que los elementos terciarios no se incluyen en el recuento de numChildren
:
import flash.display.Sprite; var container1:Sprite = new Sprite(); var container2:Sprite = new Sprite(); var circle1:Sprite = new Sprite(); circle1.graphics.beginFill(0xFFCC00); circle1.graphics.drawCircle(40, 40, 40); var circle2:Sprite = new Sprite(); circle2.graphics.beginFill(0x00CCFF); circle2.graphics.drawCircle(80, 40, 40); container2.addChild(container1); container1.addChild(circle1); container1.addChild(circle2); trace(container1.numChildren); // 2 trace(container2.numChildren); // 1 trace(circle1.numChildren); // 0 trace(circle2.numChildren); // 0
tabChildren | propiedad |
tabChildren:Boolean
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Determina si los elementos secundarios del objeto están habilitados para tabulación. Activa o desactiva la tabulación para los elementos secundarios del objeto. El valor predeterminado es true
.
Nota: no se debe utilizar la propiedad tabChildren
con Flex. En su lugar, utilice la propiedad mx.core.UIComponent.hasFocusableChildren
.
Implementación
public function get tabChildren():Boolean
public function set tabChildren(value:Boolean):void
Emite
IllegalOperationError — Al llamar a esta propiedad del objeto Stage, se emite una excepción. El objeto Stage no implementa esta propiedad.
|
Ejemplo ( Cómo utilizar este ejemplo )
container1
y se añaden dos objetos de visualización, circle1
y circle2
a la lista de elementos secundarios. El ejemplo define tabChildren como false
para los elementos secundarios de modo que pueda gestionar su propio orden de tabulación con tabIndex
:
import flash.display.Sprite; var container:Sprite = new Sprite(); container.tabChildren = false; var circle1:Sprite = new Sprite(); circle1.graphics.beginFill(0xFFCC00); circle1.graphics.drawCircle(40, 40, 40); circle1.tabIndex = 1; var circle2:Sprite = new Sprite(); circle2.graphics.beginFill(0x00CCFF); circle2.graphics.drawCircle(120, 40, 40); circle2.tabIndex = 0; container.addChild(circle1); container.addChild(circle2);
textSnapshot | propiedad |
textSnapshot:flash.text:TextSnapshot
[solo lectura] Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Devuelve un objeto TextSnapshot para esta instancia de DisplayObjectContainer.
Implementación
public function get textSnapshot():flash.text:TextSnapshot
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
trace(this.textSnapshot.getText(0, this.textSnapshot.charCount));
DisplayObjectContainer | () | Información sobre |
public function DisplayObjectContainer()
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
La llamada al constructor new DisplayObjectContainer()
emite una excepción ArgumentError
. No obstante, puede llamar a los constructores para las siguientes subclases de DisplayObjectContainer:
new Loader()
new Sprite()
new MovieClip()
addChild | () | método |
public function addChild(child:DisplayObject):DisplayObject
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Añade una instancia secundaria de DisplayObject a esta instancia de DisplayObjectContainer. El elemento secundario se añade delante (encima) de todos los demás elementos secundarios de esta instancia de DisplayObjectContainer. (Para añadir un elemento secundario en una posición de índice concreta, utilice el método addChildAt()
.)
Si añade un objeto secundario que ya tiene un contenedor de objeto de visualización diferente como elemento principal, el objeto se elimina de la lista de elementos secundarios del otro contenedor de objeto de visualización.
Nota: el comando stage.addChild()
puede causar problemas en un archivo SWF publicado, incluidos problemas de seguridad y conflictos con otros archivos SWF cargados. Sólo hay un escenario dentro de una instancia del motor de ejecución de Flash, no importa la cantidad archivos SWF cargados en el motor de ejecución. Por lo tanto, normalmente los objetos no se deben añadir al escenario directamente, bajo ningún concepto. El único objeto que debe contener el escenario es el objeto raíz. Cree un objeto DisplayObjectContainer para contener todos los elementos de la lista de visualización. Seguidamente, si es necesario, añada la instancia de DisplayObjectContainer al escenario.
Parámetros
child:DisplayObject — La instancia de DisplayObject que se va a añadir como elemento secundario de esta instancia de DisplayObjectContainer.
|
DisplayObject — La instancia de DisplayObject que se pasa en el parámetro child .
|
Eventos
added: — Se distribuye cuando un objeto de visualización se añade a la lista de visualización.
|
Emite
ArgumentError — Se emite si el elemento secundario es igual que el elemento principal. También se emite si el que origina la llamada es un elemento secundario (o terciario, etc.) del objeto secundario que se añade.
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
container1
y container2
. Sprite es un tipo de contenedor de objeto de visualización. El ejemplo llama al método addChild()
para configurar la jerarquía de visualización: container1
es un elemento secundario de container2
y los otros dos objetos de visualización, circle1
y circle2
, son elementos secundarios de container1
. Las llamadas al método trace()
muestran el número de objetos secundarios de cada objeto. Observe que los elementos terciarios no se incluyen en el recuento de numChildren
:
import flash.display.Sprite; var container1:Sprite = new Sprite(); var container2:Sprite = new Sprite(); var circle1:Sprite = new Sprite(); circle1.graphics.beginFill(0xFFCC00); circle1.graphics.drawCircle(40, 40, 40); var circle2:Sprite = new Sprite(); circle2.graphics.beginFill(0x00CCFF); circle2.graphics.drawCircle(80, 40, 40); container2.addChild(container1); container1.addChild(circle1); container1.addChild(circle2); trace(container1.numChildren); // 2 trace(container2.numChildren); // 1 trace(circle1.numChildren); // 0 trace(circle2.numChildren); // 0
addChildAt | () | método |
public function addChildAt(child:DisplayObject, index:int):DisplayObject
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Añade una instancia secundaria de DisplayObject a esta instancia de DisplayObjectContainer. El elemento secundario situado en la posición de índice especificada. El índice 0 representa el final (la parte inferior) de la lista de visualización de este objeto DisplayObjectContainer.
Por ejemplo, el siguiente ejemplo muestra tres objetos de visualización, etiquetados como a, b y c, en las posiciones de índice 0, 2 y 1 respectivamente:
Si añade un objeto secundario que ya tiene un contenedor de objeto de visualización diferente como elemento principal, el objeto se elimina de la lista de elementos secundarios del otro contenedor de objeto de visualización.
Parámetros
child:DisplayObject — La instancia de DisplayObject que se va a añadir como elemento secundario de esta instancia de DisplayObjectContainer.
| |
index:int — Posición de índice en la que se añade el elemento secundario. Si especifica una posición de índice actualmente ocupada, el objeto secundario que hay en dicha posición y todas las posiciones superiores suben una posición en la lista de elementos secundarios.
|
DisplayObject — La instancia de DisplayObject que se pasa en el parámetro child .
|
Eventos
added: — Se distribuye cuando un objeto de visualización se añade a la lista de visualización.
|
Emite
RangeError — Se emite si la posición de índice no existe en la lista secundaria.
| |
ArgumentError — Se emite si el elemento secundario es igual que el elemento principal. También se emite si el que origina la llamada es un elemento secundario (o terciario, etc.) del objeto secundario que se añade.
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
container
y se añade un objeto de visualización circle1
a la lista de visualización. A continuación, con la llamada a container.addChildAt(circle2, 0)
, se añade el objeto circle2
a la posición de índice cero (posterior), y se mueve el objeto circle1
a la posición de índice 1:
import flash.display.Sprite; var container:Sprite = new Sprite(); var circle1:Sprite = new Sprite(); var circle2:Sprite = new Sprite(); container.addChild(circle1); container.addChildAt(circle2, 0); trace(container.getChildAt(0) == circle2); // true trace(container.getChildAt(1) == circle1); // true
areInaccessibleObjectsUnderPoint | () | método |
public function areInaccessibleObjectsUnderPoint(point:Point):Boolean
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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. De manera predeterminada, el contenido de un dominio no puede obtener acceso a objetos de otro dominio a no ser que se les permita hacerlo mediante una llamada al método Security.allowDomain()
. Para obtener más información sobre la seguridad, consulte el tema del Centro de desarrollo de Flash Player Seguridad.
El parámetro point
está en el espacio de coordenadas del escenario, que puede ser distinto del espacio de coordenadas del contenedor del objeto de visualización (a no ser que el contenedor del objeto de visualización esté en el escenario). Puede utilizar los métodos globalToLocal()
y localToGlobal()
para convertir puntos entre estos espacios de coordenadas.
Parámetros
point:Point — El punto bajo el que se va a comprobar.
|
Boolean — true si el punto contiene objetos de visualización secundarios con restricciones de seguridad.
|
Elementos de API relacionados
getObjectsUnderPoint()
DisplayObject.globalToLocal()
DisplayObject.localToGlobal()
Ejemplo ( Cómo utilizar este ejemplo )
container
. El bloque de código siguiente utiliza un objeto Loader para cargar un archivo JPEG denominado "test.jpg" de un servidor de archivos remoto. Observe que la propiedad checkPolicyFile
del objeto LoaderContext utilizado como parámetro en el método load()
está establecido como false
. Una vez cargado el archivo, el código llama al método loaded()
que, a su vez, llama a container.areInaccessibleObjectsUnderPoint()
, que devuelve un valor de true
, ya que se asume que el contenido cargado procede de un dominio inaccesible:
import flash.display.Sprite; import flash.display.Loader; import flash.system.LoaderContext; import flash.net.URLRequest; import flash.events.Event; import flash.geom.Point; var container:Sprite = new Sprite(); var urlReq:URLRequest = new URLRequest("http://localhost/RemoteFile.swf"); var ldr:Loader = new Loader(); var context:LoaderContext = new LoaderContext(); context.checkPolicyFile = false; ldr.load(urlReq, context); ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded); ldr.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, urlNotFound); function loaded(event:Event):void { var pt:Point = new Point(1, 1); trace(container.areInaccessibleObjectsUnderPoint(pt)); // true } function urlNotFound(event:Event):void { trace("The URL was not found."); }
contains | () | método |
public function contains(child:DisplayObject):Boolean
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Determina si el objeto de visualización especificado es un elemento secundario de la instancia de DisplayObjectContainer o la propia instancia. La búsqueda incluye la lista de visualización completa, incluida esta instancia de DisplayObjectContainer. Los elementos terciarios, cuaternarios, etc., devuelven true
.
Parámetros
child:DisplayObject — El objeto secundario que se va a comprobar.
|
Boolean — true si el objeto child es un elemento secundario de DisplayObjectContainer o el propio contenedor; en caso contrario, devuelve false .
|
Ejemplo ( Cómo utilizar este ejemplo )
contains()
:
import flash.display.Sprite; var sprite1:Sprite = new Sprite(); var sprite2:Sprite = new Sprite(); var sprite3:Sprite = new Sprite(); var sprite4:Sprite = new Sprite(); sprite1.addChild(sprite2); sprite2.addChild(sprite3); trace(sprite1.contains(sprite1)); // true trace(sprite1.contains(sprite2)); // true trace(sprite1.contains(sprite3)); // true trace(sprite1.contains(sprite4)); // false
getChildAt | () | método |
public function getChildAt(index:int):DisplayObject
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Devuelve la instancia del objeto de visualización secundario que sale del índice especificado.
Parámetros
index:int — Posición de índice del objeto secundario.
|
DisplayObject — El objeto de visualización secundario situado en la posición de índice especificada.
|
Emite
RangeError — Se emite si el índice no existe en la lista secundaria.
| |
SecurityError — Este objeto de visualización secundario pertenece a un entorno limitado de seguridad al que no tiene acceso. Puede evitar esta situación haciendo que la película secundaria llame a Security.allowDomain() .
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
container
y se añaden tres objetos de visualización a la lista de objetos secundarios del objeto container
. Las llamadas al método getChildAt()
muestran las posiciones de los objetos secundarios:
import flash.display.Sprite; var container:Sprite = new Sprite(); var sprite1:Sprite = new Sprite(); var sprite2:Sprite = new Sprite(); var sprite3:Sprite = new Sprite(); container.addChild(sprite1); container.addChild(sprite2); container.addChildAt(sprite3, 0); trace(container.getChildAt(0) == sprite3); // true trace(container.getChildAt(1) == sprite1); // true trace(container.getChildAt(2) == sprite2); // true
getChildByName | () | método |
public function getChildByName(name:String):DisplayObject
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Devuelve el objeto de visualización secundario que sale con el nombre especificado. Si varios objetos de visualización secundarios tienen el nombre especificado, el método devolverá el primer objeto de la lista secundaria.
El método getChildAt()
es más rápido que getChildByName()
. El método getChildAt()
obtiene acceso a un elemento secundario de un conjunto en caché, mientras que el método getChildByName()
tiene que atravesar una lista vinculada para obtener acceso a un elemento secundario.
Parámetros
name:String — El nombre del elemento secundario que debe devolverse.
|
DisplayObject — El objeto de visualización secundario con el nombre especificado.
|
Emite
SecurityError — Este objeto de visualización secundario pertenece a un entorno limitado de seguridad al que no tiene acceso. Puede evitar esta situación haciendo que la película secundaria llame al método Security.allowDomain() .
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
container
y se le añaden dos objetos de visualización secundarios. A continuación, el código llama a los métodos getChildByName()
y getChildIndex()
para devolver la posición de índice del elemento secundario del objeto container
que tenga el nombre name "sprite1"
.
import flash.display.Sprite; import flash.display.DisplayObject; var container:Sprite = new Sprite(); var sprite1:Sprite = new Sprite(); sprite1.name = "sprite1"; var sprite2:Sprite = new Sprite(); sprite2.name = "sprite2"; container.addChild(sprite1); container.addChild(sprite2); var target:DisplayObject = container.getChildByName("sprite1"); trace(container.getChildIndex(target)); // 0
getChildIndex | () | método |
public function getChildIndex(child:DisplayObject):int
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Devuelve la posición de índice de una instancia child
de DisplayObject.
Parámetros
child:DisplayObject — La instancia de DisplayObject que se va a identificar.
|
int — Posición de índice del objeto de visualización secundario que debe identificarse.
|
Emite
ArgumentError — Se emite si el parámetro secundario no es un elemento secundario de este objeto.
|
Ejemplo ( Cómo utilizar este ejemplo )
container
y se le añaden dos objetos de visualización secundarios. A continuación, el código llama a los métodos getChildByName()
y getChildIndex()
para devolver la posición de índice del elemento secundario del objeto container
que tenga el nombre name "sprite1"
.
import flash.display.Sprite; import flash.display.DisplayObject; var container:Sprite = new Sprite(); var sprite1:Sprite = new Sprite(); sprite1.name = "sprite1"; var sprite2:Sprite = new Sprite(); sprite2.name = "sprite2"; container.addChild(sprite1); container.addChild(sprite2); var target:DisplayObject = container.getChildByName("sprite1"); trace(container.getChildIndex(target)); // 0
getObjectsUnderPoint | () | método |
public function getObjectsUnderPoint(point:Point):Array
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Devuelve un conjunto de objetos que quedan bajo el punto especificado y son elementos secundarios (o terciarios, etc.) de esta instancia de DisplayObjectContainer. Los objetos secundarios que son inaccesibles por motivos de seguridad se omiten en el conjunto devuelto. Para determinar si esta restricción de seguridad afecta al conjunto devuelto, llame al método areInaccessibleObjectsUnderPoint()
.
El parámetro point
está en el espacio de coordenadas del escenario, que puede ser distinto del espacio de coordenadas del contenedor del objeto de visualización (a no ser que el contenedor del objeto de visualización esté en el escenario). Puede utilizar los métodos globalToLocal()
y localToGlobal()
para convertir puntos entre estos espacios de coordenadas.
Parámetros
point:Point — El punto bajo el que se va a comprobar.
|
Array — Un conjunto de objetos que quedan bajo el punto especificado y son elementos secundarios (o terciarios, etc.) de esta instancia de DisplayObjectContainer.
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
container
y se le añaden dos objetos de visualización secundarios solapados. El código llama a continuación a getObjectsUnderPoint()
dos veces (primero con un punto que toca sólo un objeto y después con un punto donde los objetos se solapan) y la propiedad length
(longitud) del conjunto de devolución muestra el número de objetos en cada punto del contenedor:
import flash.display.Sprite; import flash.geom.Point; var container:Sprite = new Sprite(); var square1:Sprite = new Sprite(); square1.graphics.beginFill(0xFFCC00); square1.graphics.drawRect(0, 0, 40, 40); var square2:Sprite = new Sprite(); square2.graphics.beginFill(0x00CCFF); square2.graphics.drawRect(20, 0, 30, 40); container.addChild(square1); container.addChild(square2); var pt:Point = new Point(10, 20); var objects:Array = container.getObjectsUnderPoint(pt); trace(objects.length); // 1 pt = new Point(35, 20); objects = container.getObjectsUnderPoint(pt); trace(objects.length); // 2
removeChild | () | método |
public function removeChild(child:DisplayObject):DisplayObject
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Elimina la instancia child
de DisplayObject especificada de la lista de elementos secundarios de la instancia de DisplayObjectContainer. La propiedad parent
del elemento secundario eliminado se establece como null
y el objeto se recoge como dato innecesario si no hay ninguna otra referencia al elemento secundario. La posición de índice de los objetos de visualización situados por encima del elemento secundario en DisplayObjectContainer se reduce en 1.
La eliminación de datos innecesarios rescata espacio de memoria no utilizado. Cuando deja de haber una referencia activa o un almacenamiento de una variable o un objeto en algún lugar, la recogida de datos innecesarios limpia el espacio de memoria que ocupaba si no hay ninguna otra referencia a estos.
Parámetros
child:DisplayObject — La instancia de DisplayObject que se va a eliminar.
|
DisplayObject — La instancia de DisplayObject que se pasa en el parámetro child .
|
Emite
ArgumentError — Se emite si el parámetro secundario no es un elemento secundario de este objeto.
|
Ejemplo ( Cómo utilizar este ejemplo )
container
y se le añaden dos objetos de visualización secundarios. Se añade un detector de eventos al objeto container
para que cuando el usuario haga clic en un objeto secundario del contenedor, el método removeChild()
lo elimine de la lista de elementos secundarios del contendor:
import flash.display.DisplayObject; import flash.display.Sprite; import flash.events.MouseEvent; var container:Sprite = new Sprite(); addChild(container); var circle1:Sprite = new Sprite(); circle1.graphics.beginFill(0xFFCC00); circle1.graphics.drawCircle(40, 40, 40); var circle2:Sprite = new Sprite(); circle2.graphics.beginFill(0x00CCFF); circle2.graphics.drawCircle(120, 40, 40); container.addChild(circle1); container.addChild(circle2); container.addEventListener(MouseEvent.CLICK, clicked); function clicked(event:MouseEvent):void { container.removeChild(DisplayObject(event.target)); }
removeChildAt | () | método |
public function removeChildAt(index:int):DisplayObject
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Elimina una instancia de DisplayObject secundaria de la posición de index
especificada en la lista de elementos secundarios de DisplayObjectContainer. La propiedad parent
del elemento secundario eliminado se establece como null
y el objeto se recoge como dato innecesario si no hay ninguna otra referencia al elemento secundario. La posición de índice de los objetos de visualización situados por encima del elemento secundario en DisplayObjectContainer se reduce en 1.
La eliminación de datos innecesarios rescata espacio de memoria no utilizado. Cuando deja de haber una referencia activa o un almacenamiento de una variable o un objeto en algún lugar, la recogida de datos innecesarios limpia el espacio de memoria que ocupaba si no hay ninguna otra referencia a estos.
Parámetros
index:int — El índice secundario de la instancia de DisplayObject que se va a eliminar.
|
DisplayObject — La instancia de DisplayObject que se eliminó.
|
Emite
SecurityError — El objeto de visualización secundario pertenece a un entorno limitado de seguridad al que no tiene acceso el código que realiza la llamada. Puede evitar esta situación haciendo que la película secundaria llame al método Security.allowDomain() .
| |
RangeError — Se emite si el índice no existe en la lista secundaria.
|
Ejemplo ( Cómo utilizar este ejemplo )
container
y se le añaden dos objetos de visualización secundarios. A continuación, el código muestra que cuando se llama al método removeChildAt()
para eliminar el elemento secundario de la posición de índice más baja (0), los demás objetos secundarios de la lista se desplazan una posición:
import flash.display.Sprite; var container:Sprite = new Sprite(); var sprite1:Sprite = new Sprite(); sprite1.name = "sprite1"; var sprite2:Sprite = new Sprite(); sprite2.name = "sprite2"; container.addChild(sprite1); container.addChild(sprite2); trace(container.numChildren) // 2 container.removeChildAt(0); trace(container.numChildren) // 1 trace(container.getChildAt(0).name); // sprite2
removeChildren | () | método |
public function removeChildren(beginIndex:int = 0, endIndex:int = 0x7fffffff):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 3.0, Flash Player 11 |
Elimina todas las instancias child
de DisplayObject especificadas de la lista de elementos secundarios de la instancia de DisplayObjectContainer. La propiedad parent
del elemento secundario eliminado se establece como null
y los objetos se recogen como datos innecesarios si no hay ninguna otra referencia al elemento secundario.
La eliminación de datos innecesarios rescata espacio de memoria no utilizado. Cuando deja de haber una referencia activa o un almacenamiento de una variable o un objeto en algún lugar, la recogida de datos innecesarios limpia el espacio de memoria que ocupaba si no hay ninguna otra referencia a estos.
Parámetros
beginIndex:int (default = 0 ) — La posición inicial. Un valor inferior a 0 emite un error RangeError .
| |
endIndex:int (default = 0x7fffffff ) — La posición final. Un valor inferior a 0 emite un error RangeError .
|
Emite
RangeError — Se emite si las posiciones beginIndex o endIndex no existen en la lista secundaria.
|
setChildIndex | () | método |
public function setChildIndex(child:DisplayObject, index:int):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Cambia la posición de un elemento secundario existente en el contendor de objeto de visualización. Esto afecta a la disposición en capas de los objetos secundarios. Por ejemplo, el siguiente ejemplo muestra tres objetos de visualización, etiquetados como a, b y c, en las posiciones de índice 0, 1 y 2 respectivamente:
Cuando se utiliza el método setChildIndex()
y se especifica una posición de índice ya ocupada, sólo se pueden cambiar las posiciones situadas entre la posición nueva y antigua de los objetos de visualización. El resto permanecen invariables. Si se mueve un elemento secundario a un índice INFERIOR que su índice actual, todos los elementos secundarios AUMENTARÁN en 1 su referencia de índice. Si se mueve un elemento secundario a un índice SUPERIOR que su índice actual, todos los elementos secundarios DISMINUIRÁN en 1 su referencia de índice. Por ejemplo, si el contenedor de objeto secundario del ejemplo anterior se denomina container
, podrá intercambiar la posición de los objetos de visualización etiquetados como a y b llamando al siguiente código:
container.setChildIndex(container.getChildAt(1), 0);
Este código da como resultado la siguiente disposición de objetos:
Parámetros
child:DisplayObject — La instancia de DisplayObject secundaria para la que desea cambiar el número de índice.
| |
index:int — El número de índice resultante para el objeto de visualización child .
|
Emite
RangeError — Se emite si el índice no existe en la lista secundaria.
| |
ArgumentError — Se emite si el parámetro secundario no es un elemento secundario de este objeto.
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
container
y se le añaden tres objetos de visualización secundarios ligeramente solapados. Cuando el usuario hace clic en alguno de estos objetos, el método clicked()
llama al método setChildIndex()
para subirlo a la posición más alta de la lista de objetos secundarios del objeto container
:
import flash.display.Sprite; import flash.events.MouseEvent; var container:Sprite = new Sprite(); addChild(container); var circle1:Sprite = new Sprite(); circle1.graphics.beginFill(0xFF0000); circle1.graphics.drawCircle(40, 40, 40); circle1.addEventListener(MouseEvent.CLICK, clicked); var circle2:Sprite = new Sprite(); circle2.graphics.beginFill(0x00FF00); circle2.graphics.drawCircle(100, 40, 40); circle2.addEventListener(MouseEvent.CLICK, clicked); var circle3:Sprite = new Sprite(); circle3.graphics.beginFill(0x0000FF); circle3.graphics.drawCircle(70, 80, 40); circle3.addEventListener(MouseEvent.CLICK, clicked); container.addChild(circle1); container.addChild(circle2); container.addChild(circle3); addChild(container); function clicked(event:MouseEvent):void { var circle:Sprite = Sprite(event.target); var topPosition:uint = container.numChildren - 1; container.setChildIndex(circle, topPosition); }
stopAllMovieClips | () | método |
public function stopAllMovieClips():void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 3.8, Flash Player 11.8 |
Se detiene gradualmente la ejecución de línea de tiempo de todos los objetos MovieClip con raíz en este objeto.
No se tienen en cuenta los objetos de visualización secundarios que pertenecen a un entorno limitado de seguridad al que no tiene acceso el código en ejecución.
Nota: no se detendrá la transmisión de reproducción de medios controlada a través de un objeto NetStream.
swapChildren | () | método |
public function swapChildren(child1:DisplayObject, child2:DisplayObject):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Intercambia el orden z (de delante a atrás) de los dos objetos secundarios especificados. Todos los demás objetos secundarios del contenedor de objeto de visualización permanecerán en la misma posición de índice.
Parámetros
child1:DisplayObject — El primer objeto secundario.
| |
child2:DisplayObject — El segundo objeto secundario.
|
Emite
ArgumentError — Se emite si algún parámetro secundario no es un elemento secundario de este objeto.
|
Ejemplo ( Cómo utilizar este ejemplo )
container
, se añaden a continuación dos objetos de visualización secundarios y después se muestra el efecto de una llamada al método swapChildren()
:
import flash.display.Sprite; var container:Sprite = new Sprite(); var sprite1:Sprite = new Sprite(); sprite1.name = "sprite1"; var sprite2:Sprite = new Sprite(); sprite2.name = "sprite2"; container.addChild(sprite1); container.addChild(sprite2); trace(container.getChildAt(0).name); // sprite1 trace(container.getChildAt(1).name); // sprite2 container.swapChildren(sprite1, sprite2); trace(container.getChildAt(0).name); // sprite2 trace(container.getChildAt(1).name); // sprite1
swapChildrenAt | () | método |
public function swapChildrenAt(index1:int, index2:int):void
Versión del lenguaje: | ActionScript 3.0 |
Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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. Todos los demás objetos secundarios del contenedor de objeto de visualización permanecerán en la misma posición de índice.
Parámetros
index1:int — Posición de índice del primer objeto secundario.
| |
index2:int — Posición de índice del segundo objeto secundario.
|
Emite
RangeError — Si alguno de los índices no existe en la lista secundaria.
|
Ejemplo ( Cómo utilizar este ejemplo )
container
, se añaden a continuación tres objetos de visualización secundarios y después se muestra cómo una llamada al método swapChildrenAt()
reorganiza la lista de elementos secundarios del contenedor:
import flash.display.Sprite; var container:Sprite = new Sprite(); var sprite1:Sprite = new Sprite(); sprite1.name = "sprite1"; var sprite2:Sprite = new Sprite(); sprite2.name = "sprite2"; var sprite3:Sprite = new Sprite(); sprite3.name = "sprite3"; container.addChild(sprite1); container.addChild(sprite2); container.addChild(sprite3); trace(container.getChildAt(0).name); // sprite1 trace(container.getChildAt(1).name); // sprite2 trace(container.getChildAt(2).name); // sprite3 container.swapChildrenAt(0, 2); trace(container.getChildAt(0).name); // sprite3 trace(container.getChildAt(1).name); // sprite2 trace(container.getChildAt(2).name); // sprite1
DisplayObjectContainerExample
para crear cinco cuadrados de color naranja de forma consecutiva. Esta tarea se consigue siguiendo los pasos siguientes:
- El constructor llama al método
configureAssets()
. - El método
configureAssets()
crea los objetos Spritechild
ylastChild
. - Un bucle
for
crea los cinco cuadrados de color naranja y los coloca uno detrás de otro. - Cuando se crea un objeto CustomSprite, su constructor llama al método
draw()
del objetoCustomSprite
que crea un cuadrado de 50 x 50 píxeles mediante la llamada a los métodosbeginFill()
,drawRect()
yendFill()
de la clase Graphics. El métodoaddChild()
añade cada cuadrado a la lista de visualización.
package { import flash.display.DisplayObject; import flash.display.Sprite; public class DisplayObjectContainerExample extends Sprite { private var gutter:uint = 5; private var childCount:uint = 5; public function DisplayObjectContainerExample() { configureAssets(); } private function configureAssets():void { var child:Sprite = new CustomSprite(); var lastChild:Sprite = child; for (var i:uint = 1; i <= childCount; i++) { child = new CustomSprite(); child.x = lastChild.x + lastChild.width + gutter; addChild(child); lastChild = child; } } } } import flash.display.Sprite; class CustomSprite extends Sprite { private var size:uint = 50; private var bgColor:uint = 0xFFCC00; public function CustomSprite() { draw(size, size); } private function draw(w:uint, h:uint):void { graphics.beginFill(bgColor); graphics.drawRect(0, 0, w, h); graphics.endFill(); } }
Tue Jun 12 2018, 02:12 PM Z