| Paquete | flash.display |
| Clase | public class DisplayObject |
| Herencia | DisplayObject EventDispatcher Object |
| Implementa | IBitmapDrawable |
| Subclases | AVM1Movie, Bitmap, InteractiveObject, MorphShape, Shape, StaticText, Video |
| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
La clase DisplayObject admite funcionalidad básica, como la posición x e y de un objeto, así como propiedades más avanzadas del objeto, como su matriz de transformación.
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.
Todos los objetos de visualización heredan de la clase DisplayObject.
La propia clase DisplayObject no incluye ninguna API para representar el contenido en pantalla. Por este motivo, si va a crear una subclase personalizada de la clase DisplayObject, deseará ampliar una de sus subclases que sí tengan API para representar contenido en pantalla, como las clases Shape, Sprite, Bitmap, SimpleButton, TextField o MovieClip.
La clase DisplayObject contiene varios eventos de difusión. Normalmente, el destino de cualquier evento particular es una instancia específica de DisplayObject. Por ejemplo, el destino de un evento added es la instancia específica de DisplayObject que se añadió a la lista de visualización. Tener un solo destino limita la colocación de detectores de eventos en dicho destino y, en algunos casos, la de los ascendientes del destino en la lista de visualización. Con los eventos de difusión, sin embargo, el destino no es una instancia específica de DisplayObject, sino todas las instancias de DisplayObject, incluidas las que no aparecen en la lista de visualización. Esto significa que puede añadir un detector a cualquier instancia de DisplayObject para detectar eventos de difusión. Además de los eventos de difusión incluidos en la tabla Eventos de la clase DisplayObject, la clase DisplayObject también hereda dos eventos de difusión de la clase EventDispatcher: activate y deactivate.
Algunas propiedades que antes se utilizaban en las clases MovieClip, TextField y Button de ActionScript 1.0 y 2.0 (como _alpha, _height, _name, _width, _x, _y y otras) tienen equivalentes en la clase DisplayObject de ActionScript 3.0 que han cambiado de nombre de forma que ya no comienzan por el carácter de subrayado (_).
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 | ||
|---|---|---|---|
| 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 | |
| filters : Array
Conjunto indexado que contiene todos los objetos de filtro actualmente asociados con el objeto de visualización. | DisplayObject | ||
| 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 | ||
| 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 | ||
| 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 | ||
| stage : Stage [solo lectura]
El escenario del objeto de visualización. | DisplayObject | ||
| 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 | ||
|---|---|---|---|
![]() | 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 | |
![]() |
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 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 un detector del objeto EventDispatcher. | EventDispatcher | |
![]() |
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle. | Object | |
![]() |
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 | |
| Evento | Resumen | Definido por | ||
|---|---|---|---|---|
![]() | [evento broadcast] Se distribuye cuando Flash Player o AIR pasan a estar activos. | EventDispatcher | ||
| Se distribuye cuando un objeto de visualización se añade a la lista de visualización. | DisplayObject | |||
| 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 | |||
![]() | [evento broadcast] Se distribuye cuando Flash Player o de AIR pasan a estar inactivos. | EventDispatcher | ||
| [evento de difusión] Se distribuye cuando la cabeza lectora entra en un nuevo fotograma. | DisplayObject | |||
| [evento de difusión] Se distribuye cuando la cabeza lectora sale del fotograma actual. | DisplayObject | |||
| [evento de difusión] Se distribuye una vez ejecutados los constructores de los objetos de visualización del fotograma, pero antes de que se ejecuten los scripts de fotograma. | DisplayObject | |||
| Se distribuye cuando un objeto de visualización se va a eliminar de la lista de visualización. | DisplayObject | |||
| 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 | |||
| [evento de difusión] Se distribuye cuando la lista de visualización se va a actualizar y representar. | DisplayObject | |||
accessibilityProperties | propiedad |
accessibilityProperties:AccessibilityProperties| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Las opciones de accesibilidad actuales para este objeto de visualización. Si modifica la propiedad accessibilityProperties o alguno de los campos contenidos en accessibilityProperties, deberá llamar al método Accessibility.updateProperties() para que los cambios surtan efecto.
Nota: en el caso de un objeto creado en el entorno de edición de Flash, el valor de accessibilityProperties se rellena previamente con la información que haya introducido en el panel Accesibilidad para dicho objeto.
Implementación
public function get accessibilityProperties():AccessibilityProperties public function set accessibilityProperties(value:AccessibilityProperties):voidElementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
import flash.text.TextField;
import flash.accessibility.AccessibilityProperties;
import flash.accessibility.Accessibility;
import flash.system.Capabilities;
var tf:TextField = new TextField();
tf.text = "hello";
var accessProps:AccessibilityProperties = new AccessibilityProperties();
accessProps.name = "Greeting";
tf.accessibilityProperties = accessProps;
if (Capabilities.hasAccessibility) {
Accessibility.updateProperties();
}
trace(tf.accessibilityProperties.name); // Greeting
alpha | propiedad |
alpha:Number| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Indica el valor de transparencia alfa del objeto especificado. Los valores válidos son los comprendidos entre 0 (totalmente transparente) y 1 (totalmente opaco). El valor predeterminado es 1. Los objetos de visualización que tienen alpha configurado con el valor 0 están activos, aunque no sean visibles.
Implementación
public function get alpha():Number public function set alpha(value:Number):voidEjemplo ( Cómo utilizar este ejemplo )
alpha de un elemento sprite en 50% cuando el ratón se desplaza sobre el elemento sprite:
import flash.display.Sprite;
import flash.events.MouseEvent;
var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFF0000);
circle.graphics.drawCircle(40, 40, 40);
addChild(circle);
circle.addEventListener(MouseEvent.MOUSE_OVER, dimObject);
circle.addEventListener(MouseEvent.MOUSE_OUT, restoreObject);
function dimObject(event:MouseEvent):void {
event.target.alpha = 0.5;
}
function restoreObject(event:MouseEvent):void {
event.target.alpha = 1.0;
}
blendMode | propiedad |
blendMode:String| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Un valor de la clase BlendMode que especifica el modo de mezcla que debe utilizarse. Un mapa de bits puede dibujarse internamente de dos formas. Si tiene un modo de mezcla o una máscara de recorte externa, el mapa de bits se dibuja añadiendo una figura cuadrada rellena con un mapa de bits al procesador de vectores. Si intenta establecer esta propiedad con un valor no válido, los motores de ejecución de Flash establecerán el valor como BlendMode.NORMAL.
La propiedad blendMode afecta a cada píxel del objeto de visualización. Cada píxel consta de los tres colores primarios (rojo, verde y azul). Cada color primario tiene un valor comprendido entre 0x00 y 0xFF. Flash Player o Adobe AIR compara cada color primario de un píxel del clip de película con el color correspondiente del píxel en el fondo. Por ejemplo, si blendMode se define como BlendMode.LIGHTEN, Flash Player o Adobe AIR compara el valor de rojo del objeto de visualización con el valor de rojo del fondo y utiliza el color más claro de los dos como valor del componente rojo para el color de visualización.
La tabla siguiente describe los valores de blendMode: La clase BlendMode define los valores de cadena que puede utilizar. Las ilustraciones de la tabla muestran los valores blendMode aplicados a un objeto de visualización circular (2) superpuesto a otro objeto de visualización (1).
| Constante BlendMode | Ilustración | Descripción |
|---|---|---|
BlendMode.NORMAL | ![]() | El objeto de visualización aparece delante del fondo. Los valores de píxel del objeto de visualización anulan a los del fondo. Cuando el objeto de visualización sea transparente, el fondo será visible. |
BlendMode.LAYER | ![]() | Fuerza la creación de un grupo de transparencia para el objeto de visualización. Esto significa que el objeto de visualización se compone previamente en un búfer temporal antes de proseguir su procesamiento. Esto se hace automáticamente si el objeto de visualización cuenta con un caché previo a través de caché de mapa de bits o si el objeto de visualización es un contenedor de objeto de visualización con al menos un objeto secundario que tenga una configuración de blendMode distinta de BlendMode.NORMAL. No se admite en procesamiento de GPU.
|
BlendMode.MULTIPLY | ![]() | Multiplica los valores de los colores primarios del objeto de visualización por los del color del fondo y luego normaliza el resultado dividiéndolo por 0xFF, lo que da como resultado colores más oscuros. Este valor se suele utilizar para efectos de sombras y profundidad.
Por ejemplo, si un color primario (como el rojo) de un píxel del objeto de visualización y el color correspondiente del píxel del fondo tienen ambos el valor 0x88, el resultado de la multiplicación será 0x4840. Al dividir por 0xFF el resultado es 0x48 para dicho color primario, consiguiéndose un tono más oscuro que el del objeto de visualización o el del fondo. |
BlendMode.SCREEN | ![]() | Multiplica el complemento (inverso) del color del objeto de visualización por el complemento del color de fondo, con lo que se obtiene un efecto de decoloración. Este valor se suele utilizar para los resaltados o para eliminar áreas de color negro del objeto de visualización. |
BlendMode.LIGHTEN | ![]() | Selecciona el color primario más claro del objeto de visualización y el color del fondo (los colores que tengan mayores valores). Este valor suele emplearse para el tipo de superposición.
Por ejemplo, si el objeto de visualización tiene un píxel con un valor RGB de 0xFFCC33, y el píxel del fondo tiene un valor RGB de 0xDDF800, el valor RGB resultante para el píxel mostrado es de 0xFFF833 (debido a que 0xFF > 0xDD, 0xCC > 0xF8 y 0x33 > 0x00 = 33). No se admite en procesamiento de GPU. |
BlendMode.DARKEN | ![]() | Selecciona el color primario más oscuro del objeto de visualización y el color del fondo (los colores que tengan valores más bajos). Este valor suele emplearse para el tipo de superposición.
Por ejemplo, si el objeto de visualización tiene un píxel con un valor RGB de 0xFFCC33, y el píxel del fondo tiene un valor RGB de 0xDDF800, el valor RGB resultante para el píxel mostrado es de 0xDDCC00 (debido a que 0xFF > 0xDD, 0xCC < 0xF8 y 0x33 > 0x00 = 33). No se admite en procesamiento de GPU. |
BlendMode.DIFFERENCE | ![]() | Compara los colores primarios del objeto de visualización con los del fondo y resta el valor más oscuro del valor más claro de los colores primarios. Este valor suele emplearse en los colores más vivos.
Por ejemplo, si el objeto de visualización tiene un píxel con un valor RGB de 0xFFCC33, y el píxel del fondo tiene un valor RGB de 0xDDF800, el valor RGB resultante para el píxel mostrado es de 0x222C33 (debido a que 0xFF - 0xDD = 0x22, 0xF8 - 0xCC = 0x2C y 0x33 - 0x00 = 0x33). |
BlendMode.ADD | ![]() | Añade los valores de los colores primarios del objeto de visualización a los del fondo con un límite de 0xFF. Este valor suele emplearse para animar una disolución de aclarado entre dos objetos.
Por ejemplo, si el objeto de visualización tiene un píxel con un valor RGB de 0xAAA633, y el píxel del fondo tiene un valor RGB de 0xDD2200, el valor RGB resultante para el píxel mostrado es de 0xFFC833 (debido a que 0xAA + 0xDD > 0xFF, 0xA6 + 0x22 = 0xC8 y 0x33 + 0x00 = 0x33). |
BlendMode.SUBTRACT | ![]() | Resta los valores de los colores primarios del objeto de visualización de los valores del color de fondo, aplicando un límite inferior de 0. Suele utilizarse para animar una disolución de oscurecimiento entre dos imágenes.
Por ejemplo, si el objeto de visualización tiene un píxel con un valor RGB de 0xAA2233, y el píxel del fondo tiene un valor RGB de 0xDDA600, el valor RGB resultante para el píxel mostrado es de 0x338400 (debido a que 0xDD - 0xAA = 0x33, 0xA6 - 0x22 = 0x84 y 0x00 - 0x33 < 0x00). |
BlendMode.INVERT | ![]() | Invierte el fondo. |
BlendMode.ALPHA | ![]() | Aplica el valor alfa de cada píxel del objeto de visualización al fondo. Esto requiere que la configuración de blendMode del objeto de visualización principal se establezca como BlendMode.LAYER. Por ejemplo, en la ilustración, el objeto de visualización principal, un fondo blanco, tiene blendMode = BlendMode.LAYER. No se admite en procesamiento de GPU. |
BlendMode.ERASE | ![]() | Borra el fondo en función del valor alfa del objeto de visualización. Esto requiere que la configuración de blendMode del objeto de visualización principal se establezca como BlendMode.LAYER. Por ejemplo, en la ilustración, el objeto de visualización principal, un fondo blanco, tiene blendMode = BlendMode.LAYER. No se admite en procesamiento de GPU. |
BlendMode.OVERLAY | ![]() | Ajusta el color de cada píxel en función de la oscuridad del fondo. Si el fondo es más claro que un 50% de gris, los colores del objeto de visualización y del fondo se tamizan, consiguiéndose un color más claro. Si el fondo es más oscuro que un 50% de gris, los colores del clip de película y del fondo se multiplican, consiguiéndose un color más oscuro. Este valor suele emplearse para conseguir efectos de sombreado. No se admite en procesamiento de GPU. |
BlendMode.HARDLIGHT | ![]() | Ajusta el color de cada píxel en función de la oscuridad del objeto de visualización. Si el objeto de visualización es más claro que un 50% de gris, los colores del objeto de visualización y del fondo se tamizan, consiguiéndose un color más claro. Si el objeto de visualización es más oscuro que un 50% de gris, los colores del clip de película y del fondo se multiplican, consiguiéndose un color más oscuro. Este valor suele emplearse para conseguir efectos de sombreado. No se admite en procesamiento de GPU. |
BlendMode.SHADER | N/D | Ajusta el color por medio de una rutina personalizada de sombreado. El sombreado que se utiliza se especifica como la instancia de Shader asignada a la propiedad blendShader. Establecer la propiedad blendShader de un objeto de visualización como una instancia de Shader define automáticamente la propiedad blendMode del objeto de visualización en BlendMode.SHADER. Si la propiedad blendMode se establece como BlendMode.SHADER sin definir primero la propiedad blendShader, la propiedad blendMode se establecerá como BlendMode.NORMAL. No se admite en procesamiento de GPU. |
Implementación
public function get blendMode():String public function set blendMode(value:String):voidElementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
BlendMode.SUBTRACT cuando el puntero se desplaza sobre el circulo:
import flash.display.Sprite;
import flash.display.BlendMode;
import flash.events.MouseEvent;
var square:Sprite = new Sprite();
square.graphics.beginFill(0xFF88CC);
square.graphics.drawRect(0, 0, 80, 80);
addChild(square);
var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xAA0022);
circle.graphics.drawCircle(40, 40, 40);
addChild(circle);
circle.addEventListener(MouseEvent.MOUSE_OVER, dimObject);
circle.addEventListener(MouseEvent.MOUSE_OUT, restoreObject);
function dimObject(event:MouseEvent):void {
event.target.blendMode = BlendMode.SUBTRACT;
}
function restoreObject(event:MouseEvent):void {
event.target.blendMode = BlendMode.NORMAL;
}
blendShader | propiedad |
blendShader:Shader [solo escritura] | Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
Define un sombreado para utilizarlo en la mezcla del primer plano y del fondo. Si la propiedad blendMode se establece como BlendMode.SHADER, se utiliza el objeto Shader especificado para crear la salida del modo de mezcla del objeto de visualización.
Establecer la propiedad blendShader de un objeto de visualización como una instancia de Shader define automáticamente la propiedad blendMode del objeto de visualización en BlendMode.SHADER. Si la propiedad blendShader se establece (y define la propiedad blendMode en BlendMode.SHADER), el valor de la propiedad blendMode cambia. El modo de mezcla se puede restablecer para usar el sombreado de mezcla simplemente configurando la propiedad blendMode como BlendMode.SHADER. No es necesario volver a establecer la propiedad blendShader salvo para cambiar el sombreado utilizado para el modo de mezcla.
El objeto Shader asignado a la propiedad blendShader debe especificar al menos dos entradas image4. No es necesario que las entradas se especifiquen con código de la propiedad input asociada al objeto ShaderInput. El objeto de visualización en segundo plano se utiliza automáticamente como la primera entrada (la entrada con index 0). El objeto de visualización en primer plano se utiliza como la segunda entrada (la entrada con index 1). Un sombreado utilizado como sombreado de mezcla puede especificar más de dos entrada. En ese caso, cualquier entrada adicional también debe especificarse estableciendo su propiedad input de la instancia de ShaderInput.
Cuando asigna una instancia de Shader a esta propiedad, el sombreado se copia internamente. La operación de mezcla utiliza la copia interna, no una referencia al sombreado original. Todos los cambios realizados en el objeto shader, como la modificación de los valores de los parámetros, la entrada o el código de bytes, no se aplican al sombreado copiado que se utiliza en el modo de mezcla.
Implementación
public function set blendShader(value:Shader):voidEmite
ArgumentError — Si el tipo de salida de sombreado no es compatible con esta operación (el sombreado debe especificar una salida pixel4).
| |
ArgumentError — Si el sombreado especifica menos de dos entradas de imagen o si las dos primeras entradas no son entradas image4.
| |
ArgumentError — Si el sombreado especifica una entrada de imagen no suministrada.
| |
ArgumentError — Si es una instancia de ByteArray o Vector.<Number> que se utiliza como entrada, no se especifican las propiedades width y height para ShaderInput, o los valores especificados no coinciden con la cantidad de datos de los datos de entrada. Consulte la propiedad ShaderInput.input para obtener más información.
|
Elementos de API relacionados
cacheAsBitmap | propiedad |
cacheAsBitmap:Boolean| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Si se define como true, los motores de ejecución de Flash guardan en caché una representación interna de mapa de bits del objeto de visualización. Este caché puede aumentar el rendimiento de los objetos de visualización que tienen contenido vectorial complejo.
Todos los datos vectoriales de un objeto de visualización con un mapa de bits en caché se dibujan en el mapa de bits, no en la visualización principal. Si cacheAsBitmapMatrix es null o no se admite, el mapa de bits se copia en la visualización principal como píxeles no expandidos ni rotados, pero ajustados a los límites del píxel más cercano. Los píxeles se asignan de 1 a 1 con el objeto principal. Si los límites del mapa de bits cambian, el mapa de bits se vuelve a crear en lugar de expandirse.
Si cacheAsBitmapMatrix no es null y se admite, el objeto se dibuja en el mapa de bits fuera de la pantalla con dicha matriz y los resultados estirados/girados de la representación se utilizan para dibujar el objeto en la pantalla principal.
No se crea ningún mapa de bits interno a menos que la propiedad cacheAsBitmap esté definida como true.
Después de definir la propiedad cacheAsBitmap como true, la representación no varía, pero el objeto de visualización realiza automáticamente el ajuste en píxeles. La velocidad de animación puede ser notablemente mayor según la complejidad del contenido vectorial.
La propiedad cacheAsBitmap se establece automáticamente en true siempre que se aplica un filtro a un objeto de visualización (cuando su conjunto filter no está vacía) y, si un objeto de visualización tiene aplicado un filtro, cacheAsBitmap será true para ese objeto de visualización, aunque la propiedad se haya configurado como false. Si borra todos los filtros de un objeto de visualización, la configuración de cacheAsBitmap cambia a su valor anterior.
Un objeto de visualización no utiliza un mapa de bits aunque la propiedad cacheAsBitmap se haya definido como true, sino que se representa a partir de datos vectoriales en los siguientes casos:
- El mapa de bits es demasiado grande. En AIR 1.5 y en Flash Player 10, el tamaño máximo de una imagen de mapa de bits es 8.191 píxeles de anchura o de altura, y el número total de píxeles no puede superar los 16.777.215. (De modo que si una imagen de mapa de bits tiene una anchura de 8.191 píxeles, puede tener una altura máxima de 2.048.) En Flash Player 9 y en versiones anteriores, la limitación es de 2.880 píxeles de altura y 2.880 de anchura.
- El mapa de bits no puede asignarse (error de memoria insuficiente).
La propiedad cacheAsBitmap es idónea con clips de película que tienen sobre todo contenido estático y no cambian de escala ni giran con frecuencia. Con estos clips, cacheAsBitmap puede aumentar el rendimiento cuando se convierte el clip de película (cuando se modifica la posición de x e y).
Implementación
public function get cacheAsBitmap():Boolean public function set cacheAsBitmap(value:Boolean):voidElementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
cacheAsBitmap, que se define como true cuando se aplica el filtro:
import flash.display.Sprite; import flash.filters.DropShadowFilter var circle:Sprite = new Sprite(); circle.graphics.beginFill(0xAA0022); circle.graphics.drawCircle(40, 40, 40); addChild(circle); trace(circle.cacheAsBitmap); // false var filter:DropShadowFilter = new DropShadowFilter(); circle.filters = [filter]; trace(circle.cacheAsBitmap); // true
cacheAsBitmapMatrix | propiedad |
cacheAsBitmapMatrix:Matrix| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 2.0 |
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. La aplicación utiliza esta matriz como una matriz de transformación que se aplica para procesar la versión de mapa de bits del objeto de visualización.
Compatibilidad con perfil de AIR: esta característica se admite en dispositivos móviles compatibles, pero no se admite en sistemas operativos de escritorio. También tiene soporte limitado en dispositivos de AIR para TV. En concreto, en dispositivos de AIR para TV, las transformaciones admitidas incluyen la escala y la traslación, pero no la rotación y el sesgo. Consulte Compatibilidad con perfil de AIR para obtener información sobre la compatibilidad de la API con varios perfiles.
Con cacheAsBitmapMatrix definido, la aplicación conserva una imagen de mapa de bits en caché con diversas transformaciones 2D, incluidas traslación, rotación y escala. Si la aplicación utiliza aceleración de hardware, el objeto se almacenará en memoria de vídeo como textura. Esto permite a la GPU aplicar las transformaciones admitidas en el objeto. La GPU es capaz de realizar estas transformaciones más rápido que la CPU.
Para usar la aceleración de hardware, establezca Procesamiento en GPU en la ficha General del cuadro de diálogo Ajustes de iPhone en Flash Professional CS5. O establezca la propiedad renderMode en gpu en el archivo descriptor de la aplicación. Hay que tener en cuenta que los dispositivos de AIR para TV utilizan automáticamente la aceleración de hardware si está disponible.
Por ejemplo, el código siguiente envía una representación de mapa de bits sin transformación del objeto de visualización a la GPU:
matrix:Matrix = new Matrix(); // creates an identity matrix
mySprite.cacheAsBitmapMatrix = matrix;
mySprite.cacheAsBitmap = true;Normalmente, la matriz de identidad (new Matrix()) basta. Sin embargo, puede utilizar otra matriz (una con menor escala, por ejemplo) para cargar un mapa de bits distinto a la GPU. Por ejemplo, aquí se aplica una matriz cacheAsBitmapMatrix que se escala por 0,5 en los ejes x e y. El objeto de mapa de bits utilizado por la GPU es más pequeño, sin embargo la GPU ajusta su tamaño para coincidir con la propiedad transform.matrix del objeto de visualización:
matrix:Matrix = new Matrix(); // creates an identity matrix
matrix.scale(0.5, 0.5); // scales the matrix
mySprite.cacheAsBitmapMatrix = matrix;
mySprite.cacheAsBitmap = true;Generalmente, se elige una matriz que se adapte al tamaño del objeto de visualización que aparecerá en la aplicación. Por ejemplo, si la aplicación muestra una versión de mapa de bits del elemento Sprite con la escala reducida a la mitad, utilice una matriz que reduzca su escala también a la mitad. Si la aplicación mostrará el elemento Sprite más grande que sus dimensiones actuales, utilice una matriz que aumente su escala en la misma proporción.
Nota: la propiedad cacheAsBitmapMatrix es adecuada para transformaciones 2D. Si necesita aplicar transformaciones en 3D, puede hacerlo estableciendo un propiedad 3D del objeto y manipulando su propiedad transform.matrix3D. Si la aplicación se empaqueta en modo GPU, permite transformaciones 3D aplicadas al objeto por la GPU. cacheAsBitmapMatrix se omite en objetos 3D.
Implementación
public function get cacheAsBitmapMatrix():Matrix public function set cacheAsBitmapMatrix(value:Matrix):voidElementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
cacheAsBitmapMatrix para aplicar transformaciones a la versión de mapa de bits de el clip de película my_shape.
import flash.geom.Matrix;
import flash.display.*;
import flash.utils.Timer;
var my_shape:MovieClip = new MovieClip();
my_shape.graphics.beginFill(0xCCFF00);
my_shape.graphics.drawRect(200, 0, 100, 100);
addChild(my_shape);
var my_timer:Timer = new Timer(250);
my_timer.start();
my_timer.addEventListener(TimerEvent.TIMER, timerHandler);
// make sure this Display Object remains cached for all 2D transforms
my_shape.cacheAsBitmap = true;
my_shape.cacheAsBitmapMatrix = new Matrix();
// rotation variables
const initAngle:Number = 0;
const pi:Number = 3.142;
const incrAngle:Number = pi/10;
// scaling variables
const initScale:Number = 0.25;
const incrScale: Number = 1.1;
var initHeight : Number = my_shape.height;
var initWidth : Number = my_shape.width;
// translation variables
var incrX : Number = root.width / 20;
var incrY : Number = root.height / 10;
// do some initial transforms
var tempMat : Matrix = my_shape.transform.matrix;
tempMat.rotate(initAngle);
tempMat.scale(initScale, initScale);
my_shape.transform.matrix = tempMat;
function timerHandler(evt:TimerEvent):void {
tempMat = my_shape.transform.matrix;
tempMat.rotate(incrAngle);
tempMat.translate(incrX, incrY);
tempMat.scale(incrScale, incrScale);
my_shape.transform.matrix = tempMat;
// ensure we are still in a reasonable state or reset
if(my_shape.height > stage.stageHeight/2)
{
my_shape.height = initHeight;
}
if(my_shape.width > stage.stageWidth/2)
{
my_shape.width = initWidth;
}
if(my_shape.x > stage.stageWidth)
{
my_shape.x = 0;
}
else if (my_shape.x < 0)
{
my_shape.x = stage.stageWidth;
}
if(my_shape.y > stage.stageHeight)
{
my_shape.y = 0;
}
else if (my_shape.y < 0)
{
my_shape.y = stage.stageHeight;
}
}
filters | propiedad |
filters:Array| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Conjunto indexado que contiene todos los objetos de filtro actualmente asociados con el objeto de visualización. El paquete flash.filters contiene varias clases que definen filtros específicos que puede utilizar.
Los filtros pueden aplicarse en tiempo de diseño en Flash Professional o en tiempo de ejecución mediante código ActionScript. Para aplicar un filtro con ActionScript, debe realizar una copia temporal de todo el conjunto filters, modificar el conjunto temporal y volver a asignar el valor del conjunto temporal al conjunto filters. Al conjunto filters no se le pueden añadir directamente objetos filter nuevos.
Para añadir un filtro con ActionScript, debe seguir estos pasos (suponiendo que el objeto de visualización de destino se denomina myDisplayObject):
- Cree un nuevo objeto de filtro con el método constructor de la clase de filtro que haya elegido.
- Asigne el valor del conjunto
myDisplayObject.filtersa un conjunto temporal, denominado por ejemplomyFilters. - Añada el nuevo objeto filter al conjunto temporal,
myFilters. - Asigne el valor del conjunto temporal al conjunto
myDisplayObject.filters.
Si el conjunto filters no está definida, no tendrá que utilizar un conjunto temporal. En lugar de ello, podrá asignar directamente un literal de conjunto que contenga uno o varios objetos filter que ha creado. El primer ejemplo de la sección Ejemplos añade un filtro de sombra mediante código que gestiona conjuntos filters tanto definidos como no definidos.
Para modificar un objeto de filtro existente, debe utilizar la técnica de modificación de una copia del conjunto filters:
- Asigne el valor del conjunto
filtersa un conjunto temporal denominado, por ejemplo,myFilters. - Modifique la propiedad utilizando el conjunto temporal,
myFilters. Por ejemplo, para establecer la propiedad quality del primer filtro del conjunto, podría utilizar el código siguiente:myFilters[0].quality = 1; - Asigne el valor del conjunto temporal al conjunto
filters.
Durante la carga, si un objeto de visualización tiene un filtro asociado, se marca para guardarlo en caché como mapa de bits transparente. Desde ese momento, siempre y cuando el objeto de visualización tenga una lista de filtros válida, el reproductor guardará el objeto de visualización en caché como mapa de bits. Este mapa de bits de origen se utiliza como imagen de origen para los efectos de filtro. Normalmente, un objeto de visualización tiene dos mapas de bits: uno con el objeto de visualización de origen sin filtrar (original) y otro con la imagen final una vez filtrada. La imagen final es la que se utiliza en representaciones. Mientras el objeto de visualización no cambie, la imagen final no necesita actualización.
El paquete flash.filters incluye clases para filtros. Por ejemplo, para crear un filtro DropShadow, deberá escribir:
import flash.filters.DropShadowFilter
var myFilter:DropShadowFilter = new DropShadowFilter (distance, angle, color, alpha, blurX, blurY, quality, inner, knockout)
Puede utilizar el operador is para determinar el tipo de filtro asignado a cada posición de índice en el conjunto filter. Por ejemplo, el siguiente código muestra cómo determinar la posición del primer filtro del conjunto filters que es un filtro DropShadowFilter:
import flash.text.TextField;
import flash.filters.*;
var tf:TextField = new TextField();
var filter1:DropShadowFilter = new DropShadowFilter();
var filter2:GradientGlowFilter = new GradientGlowFilter();
tf.filters = [filter1, filter2];
tf.text = "DropShadow index: " + filterPosition(tf, DropShadowFilter).toString(); // 0
addChild(tf)
function filterPosition(displayObject:DisplayObject, filterClass:Class):int {
for (var i:uint = 0; i < displayObject.filters.length; i++) {
if (displayObject.filters[i] is filterClass) {
return i;
}
}
return -1;
}
Nota: como no puede añadir directamente un nuevo objeto de filtro al conjuntoDisplayObject.filters, el siguiente código no afecta de ninguna manera al objeto de visualización de destino, denominado myDisplayObject:
myDisplayObject.filters.push(myDropShadow);
Implementación
public function get filters():Array public function set filters(value:Array):voidEmite
ArgumentError — Si filters incluye un objeto ShaderFilter y el tipo de salida de sombreado no es compatible con esta operación (el sombreado debe especificar una salida pixel4).
| |
ArgumentError — Si filters incluye un objeto ShaderFilter y el sombreado no especifica ninguna entrada de imagen o la primera entrada de imagen no es una entrada image4.
| |
ArgumentError — Si filters incluye un objeto ShaderFilter y el sombreado especifica una entrada de imagen no suministrada.
| |
ArgumentError — Si filters incluye una instancia de ShaderFilter, ByteArray o Vector.<Number> como entrada de sombreado, no se especifican las propiedades width y height para el objeto ShaderInput, o los valores especificados no coinciden con la cantidad de datos de los datos de entrada. Consulte la propiedad ShaderInput.input para obtener más información.
|
Elementos de API relacionados
height | propiedad |
height:Number| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Indica la altura del objeto de visualización, expresada en píxeles. La anchura se calcula según los límites del contenido del objeto de visualización. Cuando define la propiedad height, la propiedad scaleY se ajusta en consecuencia, tal y como se muestra en el siguiente código:
var rect:Shape = new Shape();
rect.graphics.beginFill(0xFF0000);
rect.graphics.drawRect(0, 0, 100, 100);
trace(rect.scaleY) // 1;
rect.height = 200;
trace(rect.scaleY) // 2;Excepto en lo que respecta a los objetos TextField y Video, un objeto de visualización sin contenido (como un sprite vacío) tiene una altura de 0, incluso si intenta definir height en un valor diferente.
Implementación
public function get height():Number public function set height(value:Number):voidEjemplo ( Cómo utilizar este ejemplo )
height de cada uno de ellos según la propiedad textHeight que tengan; asimismo, se coloca el segundo campo de texto estableciendo la propiedad y:
import flash.text.TextField; var tf1:TextField = new TextField(); tf1.text = "Text Field 1"; tf1.border = true; tf1.wordWrap = true; tf1.width = 40; tf1.height = tf1.textHeight + 5; addChild(tf1); var tf2:TextField = new TextField(); tf2.text = "Text Field 2"; tf2.border = true; tf2.wordWrap = true; tf2.width = 40; tf2.height = tf2.textHeight + 5; tf2.y = tf1.y + tf1.height + 5; addChild(tf2);
loaderInfo | propiedad |
loaderInfo:LoaderInfo [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 un objeto LoaderInfo que contiene información sobre la carga del archivo al que pertenece este objeto de visualización. La propiedad loaderInfo sólo se define para el objeto de visualización raíz de un archivo SWF o para un mapa de bits cargado (no para un mapa de bits dibujado con ActionScript). Para encontrar el objeto loaderInfo asociado al archivo SWF que contiene un objeto de visualización llamado myDisplayObject, utilice myDisplayObject.root.loaderInfo.
Un archivo SWF grande puede controlar su descarga llamando a this.root.loaderInfo.addEventListener(Event.COMPLETE, func).
Implementación
public function get loaderInfo():LoaderInfoElementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
this hace referencia a un objeto de visualización. El código devuelve la URL del archivo SWF raíz para el objeto de visualización:
trace (this.loaderInfo.url);
mask | propiedad |
mask:DisplayObject| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
El objeto de visualización que origina la llamada se enmascara mediante el objeto mask especificado. Para asegurarse de que el enmascaramiento funciona al aplicar escala al escenario, el objeto de visualización mask debe encontrarse en una parte activa de la lista de visualización. El objeto mask propiamente dicho no se dibuja. Establezca mask con el valor null para quitar la máscara.
Para permitir la aplicación de escala a un objeto de máscara, éste debe estar en la lista de visualización. Para poder arrastrar un objeto Sprite de máscara (llamando a su método startDrag()), éste debe encontrarse en la lista de visualización. Para llamar al método startDrag() para una sprite de máscara en un evento mouseDown distribuido por la sprite, establezca la propiedad buttonMode de la sprite con el valor true.
Cuando objetos de visualización se almacenan en caché estableciendo la propiedad cacheAsBitmap como true y la propiedad cacheAsBitmapMatrix como objeto Matrix, tanto la máscara como el objeto de visualización que se está enmascarando deberá formar parte de la misma mapa de bits en caché. Por consiguiente, si el objeto de visualización se almacena en la caché, la máscara debe ser un elemento secundario del objeto de visualización. Si un antecesor del objeto de visualización de la lista está en caché, la máscara debe ser un elemento secundario de dicho antecesor o uno de sus descendientes. Si se almacena en caché más de un antecesor del objeto enmascarado, la máscara debe ser un descendiente de contenedor guardado en caché más cercano al objeto enmascarado en la lista de visualización.
Nota: no se puede utilizar un solo objeto mask para enmascarar más de un objeto de visualización de llamada. Cuando se asigna el objeto mask a un segundo objeto de visualización, se quita, ya que la máscara del primer objeto y la propiedad mask del objeto pasan a ser null.
Implementación
public function get mask():DisplayObject public function set mask(value:DisplayObject):voidEjemplo ( Cómo utilizar este ejemplo )
drag() llama al método startDrag() del objeto Sprite de máscara:
import flash.text.TextField;
import flash.display.Sprite;
import flash.events.MouseEvent;
var tf:TextField = new TextField();
tf.text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, "
+ "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. "
tf.selectable = false;
tf.wordWrap = true;
tf.width = 150;
addChild(tf);
var square:Sprite = new Sprite();
square.graphics.beginFill(0xFF0000);
square.graphics.drawRect(0, 0, 40, 40);
addChild(square);
tf.mask = square;
tf.addEventListener(MouseEvent.MOUSE_DOWN, drag);
tf.addEventListener(MouseEvent.MOUSE_UP, noDrag);
function drag(event:MouseEvent):void {
square.startDrag();
}
function noDrag(event:MouseEvent):void {
square.stopDrag();
}
metaData | propiedad |
metaData:ObjectObtiene 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.
Implementación
public function get metaData():Object public function set metaData(value:Object):voidmouseX | propiedad |
mouseX:Number [solo lectura] | Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Indica la coordenada x de la posición del ratón o del dispositivo de entrada del usuario, en píxeles.
Nota: en un objeto DisplayObject girado, la coordenada x devuelta reflejará el objeto sin girar.
Implementación
public function get mouseX():NumberEjemplo ( Cómo utilizar este ejemplo )
mouseX y mouseY cuando el usuario hace clic en el elemento sprite:
import flash.display.Sprite;
import flash.events.MouseEvent;
var square:Sprite = new Sprite();
square.graphics.beginFill(0xFF0000);
square.graphics.drawRect(0, 0, 200, 200);
addChild(square);
square.addEventListener(MouseEvent.CLICK, traceCoordinates);
function traceCoordinates(event:MouseEvent):void {
trace(square.mouseX, square.mouseY);
}
mouseY | propiedad |
mouseY:Number [solo lectura] | Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Indica la coordenada y de la posición del ratón o del dispositivo de entrada del usuario, en píxeles.
Nota: en un objeto DisplayObject girado, la coordenada y devuelta reflejará el objeto sin girar.
Implementación
public function get mouseY():NumberEjemplo ( Cómo utilizar este ejemplo )
mouseX y mouseY cuando el usuario hace clic en el elemento sprite:
import flash.display.Sprite;
import flash.events.MouseEvent;
var square:Sprite = new Sprite();
square.graphics.beginFill(0xFF0000);
square.graphics.drawRect(0, 0, 200, 200);
addChild(square);
square.addEventListener(MouseEvent.CLICK, traceCoordinates);
function traceCoordinates(event:MouseEvent):void {
trace(square.mouseX, square.mouseY);
}
name | propiedad |
name:String| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Indica el nombre de instancia de DisplayObject. El objeto puede identificarse en la lista de elementos secundarios de su contenedor de objeto de visualización principal llamando al método getChildByName() del contenedor de objeto de visualización.
Implementación
public function get name():String public function set name(value:String):voidEmite
IllegalOperationError — Si está intentando establecer esta propiedad en un objeto que se ha situado en la línea de tiempo de la herramienta de edición de Flash.
|
Ejemplo ( Cómo utilizar este ejemplo )
name asociada cuando el usuario hace clic en cualquiera de los dos objetos:
import flash.display.Sprite;
import flash.events.MouseEvent;
var circle1:Sprite = new Sprite();
circle1.graphics.beginFill(0xFF0000);
circle1.graphics.drawCircle(40, 40, 40);
circle1.name = "circle1";
addChild(circle1);
circle1.addEventListener(MouseEvent.CLICK, traceName);
var circle2:Sprite = new Sprite();
circle2.graphics.beginFill(0x0000FF);
circle2.graphics.drawCircle(140, 40, 40);
circle2.name = "circle2";
addChild(circle2);
circle2.addEventListener(MouseEvent.CLICK, traceName);
function traceName(event:MouseEvent):void {
trace(event.target.name);
}
opaqueBackground | propiedad |
opaqueBackground:Object| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Especifica si el objeto de visualización es opaco con un determinado color de fondo. Un mapa de bits transparente contiene datos en el canal alfa y se dibuja de forma transparente. Un mapa de bits opaco no tiene canal alfa (por lo que se muestra más rápido que un mapa de bits transparente). Si el mapa de bits es opaco, deberá especificar el color de fondo.
Si se establece con un número como valor, la superficie será opaca (no transparente) y tendrá el color de fondo RGB que especifique el número. Si se establece con el valor null (el predeterminado), el objeto de visualización tendrá un fondo transparente.
La propiedad opaqueBackground está pensada principalmente para su uso con la propiedad cacheAsBitmap con el fin de optimizar la representación. En objetos de visualización en los que la propiedad cacheAsBitmap se ha establecido como true, la definición de opaqueBackground puede mejorar el rendimiento de la representación.
La región de fondo opaca no halla correspondencias al llamar al método hitTestPoint() con el parámetro shapeFlag definido en true.
La región de fondo opaca no responde a los eventos del ratón.
Implementación
public function get opaqueBackground():Object public function set opaqueBackground(value:Object):voidElementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
opaqueBackground en rojo (0xFF0000):
import flash.display.Shape; var circle:Shape = new Shape(); circle.graphics.beginFill(0x0000FF); circle.graphics.drawCircle(40, 40, 40); circle.opaqueBackground = 0xFF0000; addChild(circle);
parent | propiedad |
parent:DisplayObjectContainer [solo lectura] | Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Indica el objeto DisplayObjectContainer que contiene este objeto de visualización. Utilice la propiedad parent para especificar una ruta de acceso relativa a los objetos de visualización que se encuentran por encima del objeto de visualización en la jerarquía de la lista de visualización.
Puede utilizar parent para subir múltiples niveles en la lista de visualización, como se muestra a continuación:
this.parent.parent.alpha = 20;
Implementación
public function get parent():DisplayObjectContainerEmite
SecurityError — El objeto de visualización principal pertenece a un entorno limitado de seguridad al que no tiene acceso. Puede evitar esta situación haciendo que la película de nivel superior llame al método Security.allowDomain().
|
Ejemplo ( Cómo utilizar este ejemplo )
parent refleja la jerarquía de la lista de visualización:
import flash.display.Sprite; var sprite1:Sprite = new Sprite(); sprite1.name = "sprite1"; var sprite2:Sprite = new Sprite(); sprite2.name = "sprite2"; var sprite3:Sprite = new Sprite(); sprite3.name = "sprite3"; sprite1.addChild(sprite2); sprite2.addChild(sprite3); trace(sprite2.parent.name); // sprite1 trace(sprite3.parent.name); // sprite2 trace(sprite3.parent.parent.name); // sprite1
root | propiedad |
root:DisplayObject [solo lectura] | Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Para un objeto de visualización en un archivo SWF cargado, la propiedadroot 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. Para un objeto Bitmap que representa a un archivo de imagen cargado, la propiedad root es el objeto Bitmap en sí mismo. Para la instancia de la clase principal del primer archivo SWF cargado, la propiedad root es el objeto de visualización en sí mismo. La propiedad root del objeto Stage es el objeto Stage en sí mismo. La propiedad root se establece con el valor null para los objetos de visualización que no se hayan añadido a la lista de visualización, a no ser que se hayan añadido a un contenedor de objeto de visualización que esté fuera de la lista de visualización pero que sea un elemento secundario del objeto de visualización de nivel más alto en un archivo SWF cargado.
Por ejemplo, si crea un nuevo objeto Sprite llamando al método constructor Sprite(), su propiedad root se establece con el valor null hasta que lo añada a la lista de visualización (o a un contenedor de objeto de visualización que esté fuera de la lista de visualización pero que sea un elemento secundario del objeto de visualización de nivel más alto en un archivo SWF).
Para un archivo SWF cargado, aunque el objeto Loader utilizado para cargar el archivo puede no estar en la lista de visualización, el objeto de visualización de nivel más alto en el archivo SWF tiene configurada la propiedad root como sí mismo. El objeto Loader no tiene la propiedad root configurada hasta que se añade como elemento secundario de un objeto de visualización para el que se ha establecido la propiedad root.
Implementación
public function get root():DisplayObjectEjemplo ( Cómo utilizar este ejemplo )
root del objeto Stage, de un objeto de visualización (un objeto Loader) que no está cargado (antes y después de que se haya añadido a la lista de visualización), y de un objeto cargado (un objeto Bitmap cargado):
import flash.display.Loader;
import flash.net.URLRequest;
import flash.events.Event;
trace(stage.root); // [object Stage]
var ldr:Loader = new Loader();
trace (ldr.root); // null
addChild(ldr);
trace (ldr.root); // [object ...]
var urlReq:URLRequest = new URLRequest("example.jpg");
ldr.load(urlReq);
ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded);
function loaded(event:Event):void {
trace(ldr.content.root); // [object Bitmap]
}
rotation | propiedad |
rotation:Number| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Indica el giro de la instancia de DisplayObject, expresado en grados, con respecto a su orientación original. Los valores comprendidos entre 0 y 180 representan un giro en el sentido de las agujas del reloj, mientras que los comprendidos entre 0 y -180 representan un giro en sentido contrario al de las agujas del reloj. Los valores situados fuera de este rango se suman o restan de 360 para obtener un valor que sí esté comprendido en el rango. Por ejemplo, la sentencia my_video.rotation = 450 es igual que my_video.rotation = 90.
Implementación
public function get rotation():Number public function set rotation(value:Number):voidEjemplo ( Cómo utilizar este ejemplo )
import flash.display.Sprite;
import flash.events.MouseEvent;
var square:Sprite = new Sprite();
square.graphics.beginFill(0xFFCC00);
square.graphics.drawRect(-50, -50, 100, 100);
square.x = 150;
square.y = 150;
addChild(square);
square.addEventListener(MouseEvent.CLICK, rotate);
function rotate(event:MouseEvent):void {
square.rotation += 15;
}
rotationX | propiedad |
rotationX:Number| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Indica la rotación del eje x de la instancia de DisplayObject, en grados, desde su orientación original relativa al contenedor principal 3D. Los valores comprendidos entre 0 y 180 representan un giro en el sentido de las agujas del reloj, mientras que los comprendidos entre 0 y -180 representan un giro en sentido contrario al de las agujas del reloj. Los valores situados fuera de este rango se suman o restan de 360 para obtener un valor que sí esté comprendido en el rango.
Implementación
public function get rotationX():Number public function set rotationX(value:Number):voidEjemplo ( Cómo utilizar este ejemplo )
rotationX y rotationY. El punto de registro de la primera elipse se establece en su centro. Gira en torno a sí misma. La segunda elipse gira alrededor de un punto externo.
package {
import flash.display.MovieClip;
import flash.display.Shape;
import flash.geom.*;
import flash.display.Graphics;
import flash.events.TimerEvent;
import flash.utils.Timer;
public class RotationExample1 extends MovieClip {
private var ellipse:Shape = new Shape();
private var speed:int = 10;
private var ellipse1:Shape;
private var ellipse2:Shape;
public function RotationExample1():void {
ellipse1 = drawEllipse(-50, -40, (this.stage.stageWidth / 2),
(this.stage.stageHeight / 2));
ellipse2 = drawEllipse(30, 40, (this.stage.stageWidth / 2),
(this.stage.stageHeight / 2));
this.addChild(ellipse1);
this.addChild(ellipse2);
var t:Timer = new Timer(50);
t.addEventListener(TimerEvent.TIMER, timerHandler);
t.start();
}
private function drawEllipse(x1, y1, x2, y2):Shape {
var e:Shape = new Shape();
e.graphics.beginFill(0xFF0000);
e.graphics.lineStyle(2);
e.graphics.drawEllipse(x1, y1, 100, 80);
e.graphics.endFill();
e.x = x2;
e.y = y2;
e.z = 1;
return e;
}
private function timerHandler(event:TimerEvent):void {
ellipse1.rotationY += speed;
ellipse1.rotationX -= speed;
ellipse2.rotationY += speed;
ellipse2.rotationX -= speed;
}
}
}
//Requires:
// - Slider control UI component in Flash library.
// - Publish for Flash Player 10.
//
[SWF(width="400", height="300")]
import fl.controls.Slider;
import fl.controls.SliderDirection;
import fl.events.SliderEvent;
var slider:Slider = new Slider();
slider.direction = SliderDirection.HORIZONTAL;
slider.minimum = 0;
slider.maximum = 360;
slider.value = 45;
slider.tickInterval = 45;
slider.snapInterval = 1;
slider.liveDragging = true;
slider.addEventListener(SliderEvent.CHANGE, slider_change);
slider.move(10, 10);
addChild(slider);
var spr:Sprite = new Sprite();
spr.graphics.lineStyle(2, 0xFF0000);
spr.graphics.drawRect(0, 0, 100, 80);
spr.x = Math.round((stage.stageWidth - spr.width)/2);
spr.y = Math.round((stage.stageHeight - spr.height)/2);
spr.rotationX = 45;
addChild(spr);
function slider_change(evt:SliderEvent):void {
spr.rotationX = evt.value;
}
rotationY | propiedad |
rotationY:Number| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Indica la rotación del eje y de la instancia de DisplayObject, en grados, desde su orientación original relativa al contenedor principal 3D. Los valores comprendidos entre 0 y 180 representan un giro en el sentido de las agujas del reloj, mientras que los comprendidos entre 0 y -180 representan un giro en sentido contrario al de las agujas del reloj. Los valores situados fuera de este rango se suman o restan de 360 para obtener un valor que sí esté comprendido en el rango.
Implementación
public function get rotationY():Number public function set rotationY(value:Number):voidEjemplo ( Cómo utilizar este ejemplo )
rotationX y rotationY. El punto de registro de la primera elipse se establece en su centro. Gira en torno a sí misma. La segunda elipse gira alrededor de un punto externo.
package {
import flash.display.MovieClip;
import flash.display.Shape;
import flash.geom.*;
import flash.display.Graphics;
import flash.events.TimerEvent;
import flash.utils.Timer;
public class RotationExample1 extends MovieClip {
private var ellipse:Shape = new Shape();
private var speed:int = 10;
private var ellipse1:Shape;
private var ellipse2:Shape;
public function RotationExample1():void {
ellipse1 = drawEllipse(-50, -40, (this.stage.stageWidth / 2),
(this.stage.stageHeight / 2));
ellipse2 = drawEllipse(30, 40, (this.stage.stageWidth / 2),
(this.stage.stageHeight / 2));
this.addChild(ellipse1);
this.addChild(ellipse2);
var t:Timer = new Timer(50);
t.addEventListener(TimerEvent.TIMER, timerHandler);
t.start();
}
private function drawEllipse(x1, y1, x2, y2):Shape {
var e:Shape = new Shape();
e.graphics.beginFill(0xFF0000);
e.graphics.lineStyle(2);
e.graphics.drawEllipse(x1, y1, 100, 80);
e.graphics.endFill();
e.x = x2;
e.y = y2;
e.z = 1;
return e;
}
private function timerHandler(event:TimerEvent):void {
ellipse1.rotationY += speed;
ellipse1.rotationX -= speed;
ellipse2.rotationY += speed;
ellipse2.rotationX -= speed;
}
}
}
rotationZ | propiedad |
rotationZ:Number| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Indica la rotación del eje z de la instancia de DisplayObject, en grados, desde su orientación original relativa al contenedor principal 3D. Los valores comprendidos entre 0 y 180 representan un giro en el sentido de las agujas del reloj, mientras que los comprendidos entre 0 y -180 representan un giro en sentido contrario al de las agujas del reloj. Los valores situados fuera de este rango se suman o restan de 360 para obtener un valor que sí esté comprendido en el rango.
Implementación
public function get rotationZ():Number public function set rotationZ(value:Number):voidscale9Grid | propiedad |
scale9Grid:Rectangle| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
La cuadrícula de escala aplicada actualmente. Si se establece como null, la escala de todo el objeto de visualización se aplicará normalmente cuando se aplique cualquier transformación de escala.
Cuando se define la propiedad scale9Grid, el objeto de visualización se divide en una cuadrícula con nueve regiones, basadas en el rectángulo scale9Grid, que define la región central de la cuadrícula. Las otras ocho regiones de la cuadrícula son las siguientes áreas:
- La esquina superior izquierda fuera del rectángulo
- El área situada por encima del rectángulo
- La esquina superior derecha fuera del rectángulo
- El área a la izquierda del rectángulo
- El área a la derecha del rectángulo
- La esquina inferior izquierda fuera del rectángulo
- El área situada por debajo del rectángulo
- La esquina inferior derecha fuera del rectángulo
Puede considerar las ocho regiones externas al centro (que define el rectángulo) como si fueran el marco de un cuadro con reglas especiales cuando se le aplica escala.
Cuando se establece la propiedad scale9Grid y se aplica escala a un objeto de visualización, se aplica escala a todo el texto y los degradados normalmente. Sin embargo, se aplican las reglas siguientes a otros tipos de objetos:
- El contenido de la región central se escala normalmente.
- El contenido de las esquinas no se escala.
- El contenido de las regiones superior e inferior se escala sólo en horizontal. El contenido de las regiones izquierda y derecha se escala sólo en vertical.
- Todos los rellenos (incluidos mapas de bits, vídeo y degradados) se expanden para ajustarse a su forma.
Si se gira un objeto de visualización, todo el escalado posterior será normal (y se omitirá la propiedad scale9Grid).
Por ejemplo, imagine el siguiente objeto de visualización y un rectángulo que se aplica como propiedad scale9Grid del objeto de visualización:
El objeto de visualización. |
El rectángulo rojo muestra la cuadrícula |
Cuando el objeto de visualización cambia la escala o se expande, los objetos del interior del rectángulo cambian de escala con normalidad, pero los objetos del exterior cambian de escala según las normas de scale9Grid:
| Cambio de escala al 75%: | ![]() |
| Cambio de escala al 50%: | ![]() |
| Cambio de escala al 25%: | ![]() |
| Expandido horizontalmente un 150%: | ![]() |
Normalmente, scale9Grid se define cuando se configura un objeto de visualización que se va a utilizar como componente en el que las zonas del borde conservan la misma anchura si el componente cambia de escala.
Implementación
public function get scale9Grid():Rectangle public function set scale9Grid(value:Rectangle):voidEmite
ArgumentError — Si pasa un argumento no válido al método.
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
graphics. El rectángulo tiene una línea gruesa de 20 píxeles como borde y un degradado como relleno. El evento del temporizador llama a la función scale(), que define la escala del objeto Shape con el ajuste de las propiedades scaleX y scaleY. La aplicación de scale9Grid al objeto Shape evita que se aplique escala a la línea del borde del rectángulo, sólo se escala el relleno con degradado:
import flash.display.Shape;
import flash.display.GradientType;
import flash.display.SpreadMethod;
import flash.display.InterpolationMethod;
import flash.geom.Matrix;
import flash.geom.Rectangle;
import flash.utils.Timer;
import flash.events.TimerEvent;
var square:Shape = new Shape();
square.graphics.lineStyle(20, 0xFFCC00);
var gradientMatrix:Matrix = new Matrix();
gradientMatrix.createGradientBox(15, 15, Math.PI, 10, 10);
square.graphics.beginGradientFill(GradientType.RADIAL,
[0xffff00, 0x0000ff],
[100, 100],
[0, 0xFF],
gradientMatrix,
SpreadMethod.REFLECT,
InterpolationMethod.RGB,
0.9);
square.graphics.drawRect(0, 0, 100, 100);
var grid:Rectangle = new Rectangle(20, 20, 60, 60);
square.scale9Grid = grid ;
addChild(square);
var tim:Timer = new Timer(100);
tim.start();
tim.addEventListener(TimerEvent.TIMER, scale);
var scaleFactor:Number = 1.01;
function scale(event:TimerEvent):void {
square.scaleX *= scaleFactor;
square.scaleY *= scaleFactor;
if (square.scaleX > 2.0) {
scaleFactor = 0.99;
}
if (square.scaleX < 1.0) {
scaleFactor = 1.01;
}
}
scaleX | propiedad |
scaleX:Number| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Indica la escala horizontal (percentage) del objeto aplicada desde el punto de registro. El punto de registro predeterminado es (0,0). 1.0 equivale al 100% de la escala.
La escala del sistema de coordenadas local afecta a los valores de las propiedades x e y, que se definen en píxeles completos.
Implementación
public function get scaleX():Number public function set scaleX(value:Number):voidEjemplo ( Cómo utilizar este ejemplo )
graphics. Cuando el usuario hace clic en el elemento sprite, la escala se ajusta en 10%:
import flash.display.Sprite;
import flash.events.MouseEvent;
var square:Sprite = new Sprite();
square.graphics.beginFill(0xFFCC00);
square.graphics.drawRect(0, 0, 100, 100);
addChild(square);
square.addEventListener(MouseEvent.CLICK, scale);
function scale(event:MouseEvent):void {
square.scaleX *= 1.10;
square.scaleY *= 1.10;
}
scaleY | propiedad |
scaleY:Number| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Indica la escala vertical (percentage) de un objeto aplicada desde el punto de registro del objeto. El punto de registro predeterminado es (0,0). 1.0 equivale al 100% de la escala.
La escala del sistema de coordenadas local afecta a los valores de las propiedades x e y, que se definen en píxeles completos.
Implementación
public function get scaleY():Number public function set scaleY(value:Number):voidEjemplo ( Cómo utilizar este ejemplo )
graphics. Cuando el usuario hace clic en el elemento sprite, la escala se ajusta en 10%:
import flash.display.Sprite;
import flash.events.MouseEvent;
var square:Sprite = new Sprite();
square.graphics.beginFill(0xFFCC00);
square.graphics.drawRect(0, 0, 100, 100);
addChild(square);
square.addEventListener(MouseEvent.CLICK, scale);
function scale(event:MouseEvent):void {
square.scaleX *= 1.10;
square.scaleY *= 1.10;
}
scaleZ | propiedad |
scaleZ:Number| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
Indica la escala de profundidad (porcentaje) de un objeto aplicada desde el punto de registro del objeto. El punto de registro predeterminado es (0,0). 1.0 equivale al 100% de la escala.
Al cambiar la escala del sistema de coordenadas local, cambian los valores de las propiedades x, y y z, que se definen en píxeles completos.
Implementación
public function get scaleZ():Number public function set scaleZ(value:Number):voidElementos de API relacionados
scrollRect | propiedad |
scrollRect:Rectangle| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9 |
Los límites del rectángulo de desplazamiento del objeto de visualización. El objeto de visualización se recorta al tamaño definido por el rectángulo y se desplaza dentro del rectángulo al cambiar las propiedades x e y del objeto scrollRect.
Las propiedades del objeto Rectangle scrollRect utilizan el espacio de coordenadas del objeto de visualización y cambian de escala al igual que el resto del objeto de visualización. Los límites de esquina de la ventana recortada del objeto de visualización en desplazamiento son el origen del objeto de visualización (0,0) y el punto definido por la anchura y la altura del rectángulo. Estos no están centrados en torno al origen, sino que utilizan el origen para definir la esquina superior izquierda del área. Un objeto de visualización desplazado siempre se desplaza en incrementos de píxeles completos.
Puede desplazar un objeto a izquierda y a derecha estableciendo la propiedad x del objeto Rectangle scrollRect. Puede desplazar un objeto hacia arriba y hacia abajo estableciendo la propiedad y del objeto Rectangle scrollRect. Si el objeto de visualización se gira 90° y lo desplaza a izquierda y derecha, el objeto de visualización se desplazará realmente hacia arriba y hacia abajo.
Tenga en cuenta que los cambios en la propiedad scrollRect sólo se procesan cuando se representa el objeto. En consecuencia, los métodos como localToGlobal pueden no producir el resultado esperado si se les llama inmediatamente después de modificar scrollRect.
Nota: a partir de Flash Player 11.4 /AIR 3.4, los valores negativos para el ancho o el alto del rectángulo se han cambiado a 0.
Implementación
public function get scrollRect():Rectangle public function set scrollRect(value:Rectangle):voidElementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
scrollRect define el área de desplazamiento de un objeto de visualización, circle. Al hacer clic en el objeto circle, el método de controlador de eventos clicked() ajusta la propiedad y de la propiedad scrollRect del objeto circle, lo que produce el desplazamiento hacia abajo del objeto:
import flash.display.Sprite;
import flash.geom.Rectangle;
import flash.events.MouseEvent;
var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFFCC00);
circle.graphics.drawCircle(200, 200, 200);
circle.scrollRect = new Rectangle(0, 0, 200, 200);
addChild(circle);
circle.addEventListener(MouseEvent.CLICK, clicked);
function clicked(event:MouseEvent):void {
var rect:Rectangle = event.target.scrollRect;
rect.y -= 5;
event.target.scrollRect = rect;
}
stage | propiedad |
stage:Stage [solo lectura] | Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
El escenario del objeto de visualización. Una aplicación en tiempo de ejecución de Flash sólo tiene un objeto Stage. Por ejemplo, puede crear y cargar varios objetos de visualización en la lista de visualización y que la propiedad stage de cada objeto de visualización haga referencia al mismo objeto Stage (aunque el objeto de visualización pertenezca a un archivo SWF cargado).
Si un objeto de visualización no se añade a la lista de visualización, su propiedad stage se establece como null.
Implementación
public function get stage():StageEjemplo ( Cómo utilizar este ejemplo )
width del objeto Stage para colocar los campos de texto:
import flash.text.TextField; var tf1:TextField = new TextField(); tf1.text = "Text Field 1"; tf1.border = true; tf1.x = 10; addChild(tf1); tf1.width = tf1.stage.stageWidth / 2 - 10; var tf2:TextField = new TextField(); tf2.text = "Text Field 2"; tf2.border = true; tf2.x = tf1.x + tf1.width + 5; addChild(tf2); tf2.width = tf2.stage.stageWidth / 2 - 10; trace(stage.stageWidth);
transform | propiedad |
transform:flash.geom:Transform| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Objeto con propiedades pertenecientes a una matriz, transformación de color y límites de píxel de un objeto de visualización. Las propiedades específicas matrix, colorTransform y tres propiedades de sólo lectura (concatenatedMatrix, concatenatedColorTransform y pixelBounds) se describen en la entrada de la clase Transform.
Cada una de las propiedades del objeto transform es un objeto en sí. Este concepto es importante porque el único modo de definir nuevos valores para objetos matrix o colorTransform es crear un nuevo objeto y copiarlo en la propiedad transform.matrix o transform.colorTransform.
Por ejemplo, para aumentar el valor tx de la matriz de un objeto de visualización, debe realizar una copia del objeto de matriz completo y después copiar el objeto nuevo en la propiedad matrix del objeto transform:
var myMatrix:Matrix = myDisplayObject.transform.matrix;
myMatrix.tx += 10;
myDisplayObject.transform.matrix = myMatrix;
La propiedad tx no puede configurarse directamente. El código siguiente no tiene efecto en myDisplayObject:
myDisplayObject.transform.matrix.tx += 10;
También puede copiar un objeto transform completo y asignarlo a la propiedad transform de otro objeto de visualización. Por ejemplo, el código siguiente copia el objeto transform completo de myOldDisplayObj a myNewDisplayObj:
myNewDisplayObj.transform = myOldDisplayObj.transform;
El objeto de visualización resultante, myNewDisplayObj, tiene ahora los mismos valores de matriz, transformación de color y límites de píxel que el antiguo objeto de visualización, myOldDisplayObj.
Hay que tener en cuenta que los dispositivos de AIR para TV utilizan la aceleración de hardware, si está disponible, por transformaciones de color.
Implementación
public function get transform():flash.geom:Transform public function set transform(value:flash.geom:Transform):voidElementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
square. Cuando el usuario hace clic en el elemento sprite, el método transformer() ajusta las propiedades colorTransform y matrix de la propiedad transform del elemento:
import flash.display.Sprite;
import flash.geom.ColorTransform;
import flash.geom.Matrix;
import flash.geom.Transform;
import flash.events.MouseEvent;
var square:Sprite = new Sprite();
square.graphics.lineStyle(20, 0xFF2200);
square.graphics.beginFill(0x0000DD);
square.graphics.drawRect(0, 0, 100, 100);
addChild(square);
var resultColorTransform:ColorTransform = new ColorTransform();
resultColorTransform.alphaMultiplier = 0.5;
resultColorTransform.redOffset = 155;
resultColorTransform.greenMultiplier = 0.5;
var skewMatrix:Matrix = new Matrix(1, 1, 0, 1);
square.addEventListener(MouseEvent.CLICK, transformer);
function transformer(event:MouseEvent):void {
var transformation:Transform = square.transform;
var tempMatrix:Matrix = square.transform.matrix;
tempMatrix.concat(skewMatrix);
square.transform.colorTransform = resultColorTransform;
square.transform.matrix = tempMatrix;
}
visible | propiedad |
visible: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 el objeto de visualización es visible. Los objetos de visualización que no son visibles se desactivan. Por ejemplo, si visible=false para una instancia de InteractiveObject, no es posible hacer clic en él.
Implementación
public function get visible():Boolean public function set visible(value:Boolean):voidEjemplo ( Cómo utilizar este ejemplo )
visible de un objeto de visualización, lo que da como resultado un efecto de parpadeo:
import flash.text.TextField;
import flash.utils.Timer;
import flash.events.TimerEvent;
var tf:TextField = new TextField();
tf.text = "Hello.";
addChild(tf);
var tim:Timer = new Timer(250);
tim.start();
tim.addEventListener(TimerEvent.TIMER, blinker);
function blinker(event:TimerEvent):void {
tf.visible = !tf.visible;
}
width | propiedad |
width:Number| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Indica la anchura del objeto de visualización, expresada en píxeles. La anchura se calcula según los límites del contenido del objeto de visualización. Cuando define la propiedad width, la propiedad scaleX se ajusta en consecuencia, tal y como se muestra en el siguiente código:
var rect:Shape = new Shape();
rect.graphics.beginFill(0xFF0000);
rect.graphics.drawRect(0, 0, 100, 100);
trace(rect.scaleX) // 1;
rect.width = 200;
trace(rect.scaleX) // 2;Excepto en lo que respecta a los objetos TextField y Video, un objeto de visualización sin contenido (como un sprite vacío) tiene una anchura de 0, incluso si intenta definir width en un valor diferente.
Implementación
public function get width():Number public function set width(value:Number):voidEjemplo ( Cómo utilizar este ejemplo )
square. Cuando el usuario hace clic en el elemento sprite, el método widen() aumenta la propiedad width del elemento:
import flash.display.Sprite;
import flash.events.MouseEvent;
var square:Sprite = new Sprite();
square.graphics.beginFill(0xFF0000);
square.graphics.drawRect(0, 0, 100, 100);
addChild(square);
square.addEventListener(MouseEvent.CLICK, widen);
function widen(event:MouseEvent):void {
square.width += 10;
}
x | propiedad |
x:Number| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Indica la coordenada x de la instancia de DisplayObject en relación a las coordenadas locales del DisplayObjectContainer principal. Si el objeto está dentro de un DisplayObjectContainer que incluye transformaciones, estará en el sistema de coordenadas local del DisplayObjectContainer en el que está contenido. Por consiguiente, en el caso de un DisplayObjectContainer con un giro de 90° en sentido contrario al de las agujas del reloj, los elementos secundarios de DisplayObjectContainer heredarán un sistema de coordenadas con un giro de 90° en sentido contrario al de las agujas del reloj. Las coordenadas del objeto hacen referencia a la posición del punto de registro.
Implementación
public function get x():Number public function set x(value:Number):voidEjemplo ( Cómo utilizar este ejemplo )
circle. Se utiliza un objeto Timer para cambiar la propiedad x del elemento sprite cada 50 milisegundos:
import flash.display.Sprite;
import flash.utils.Timer;
import flash.events.TimerEvent;
var circle:Sprite = new Sprite();
circle.graphics.beginFill(0xFF0000);
circle.graphics.drawCircle(100, 100, 100);
addChild(circle);
var tim:Timer = new Timer(50);
tim.start();
tim.addEventListener(TimerEvent.TIMER, bounce);
var xInc:Number = 2;
function bounce(event:TimerEvent):void {
circle.x += xInc;
if (circle.x > circle.width) {
xInc = -2;
}
if (circle.x < 0) {
xInc = 2;
}
}
y | propiedad |
y:Number| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Indica la coordenada y de la instancia de DisplayObject en relación a las coordenadas locales del DisplayObjectContainer principal. Si el objeto está dentro de un DisplayObjectContainer que incluye transformaciones, estará en el sistema de coordenadas local del DisplayObjectContainer en el que está contenido. Por consiguiente, en el caso de un DisplayObjectContainer con un giro de 90° en sentido contrario al de las agujas del reloj, los elementos secundarios de DisplayObjectContainer heredarán un sistema de coordenadas con un giro de 90° en sentido contrario al de las agujas del reloj. Las coordenadas del objeto hacen referencia a la posición del punto de registro.
Implementación
public function get y():Number public function set y(value:Number):voidEjemplo ( Cómo utilizar este ejemplo )
height de cada uno de ellos según la propiedad textHeight que tengan; asimismo, se coloca el segundo campo de texto estableciendo la propiedad y:
import flash.text.TextField; var tf1:TextField = new TextField(); tf1.text = "Text Field 1"; tf1.border = true; tf1.wordWrap = true; tf1.width = 40; tf1.height = tf1.textHeight + 5; addChild(tf1); var tf2:TextField = new TextField(); tf2.text = "Text Field 2"; tf2.border = true; tf2.wordWrap = true; tf2.width = 40; tf2.height = tf2.textHeight + 5; tf2.y = tf1.y + tf1.height + 5; addChild(tf2);
z | propiedad |
z:Number| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | Flash Player 10, AIR 1.5 |
Indica la posición de la coordenada z en el eje z de la instancia de DisplayObject relativa al contenedor principal 3D. La propiedad z se utiliza para trabajar con coordenadas 3D, no con coordenadas de pantalla o de píxeles.
Cuando se establece una propiedad z de un objeto de visualización en un valor distinto a su predeterminado (0), se crea automáticamente un objeto Matrix3D. para ajustar una posición y la orientación de un objeto de visualización en tres dimensiones. Cuando se trabaja con el eje z, el comportamiento existente de las propiedades x e y cambia de coordenadas de pantalla o de píxeles a las posiciones relativas al contenedor principal 3D.
Por ejemplo, un elemento secundario de _root en la posición x = 100, y = 100, z = 200 no se dibuja en la posición de píxeles (100,100). El elemento secundario se dibuja en el lugar en que lo coloque el cálculo de proyección 3D. El cálculo es el siguiente:
(x*cameraFocalLength/cameraRelativeZPosition, y*cameraFocalLength/cameraRelativeZPosition)
Implementación
public function get z():Number public function set z(value:Number):voidElementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
z) al punto de desvanecimiento. Una elipse se ha configurado para moverse más rápido que la otra.
package {
import flash.display.MovieClip;
import flash.display.Shape;
import flash.display.Graphics;
import flash.events.Event;
import flash.geom.*;
public class ZAxisExample1 extends MovieClip {
private var ellipse1Back:int = 1;
private var ellipse2Back:int = 1;
private var depth:int = 1000;
public function ZAxisExample1():void {
var ellipse1 = drawEllipse((this.stage.stageWidth / 2) - 100,
(this.stage.stageHeight / 2), 100, 80, 10);
var ellipse2 = drawEllipse((this.stage.stageWidth / 2) + 100,
(this.stage.stageHeight / 2), 100, 80, 300);
this.addChild(ellipse1);
this.addChild(ellipse2);
ellipse1.addEventListener(Event.ENTER_FRAME, ellipse1FrameHandler);
ellipse2.addEventListener(Event.ENTER_FRAME, ellipse2FrameHandler);
}
private function drawEllipse(x:Number, y:Number, w:Number, h:Number, z:Number):Shape {
var s:Shape = new Shape();
s.z = z;
s.graphics.beginFill(0xFF0000);
s.graphics.lineStyle(2);
s.graphics.drawEllipse(x, y, w, h);
s.graphics.endFill();
return s;
}
private function ellipse1FrameHandler(e:Event):void {
ellipse1Back = setDepth(e, ellipse1Back);
e.currentTarget.z += ellipse1Back * 10;
}
private function ellipse2FrameHandler(e:Event):void {
ellipse2Back = setDepth(e, ellipse2Back);
e.currentTarget.z += ellipse2Back * 20;
}
private function setDepth(e:Event, d:int):int {
if(e.currentTarget.z > depth) {
e.currentTarget.z = depth;
d = -1;
}else if (e.currentTarget.z < 0) {
e.currentTarget.z = 0;
d = 1;
}
return d;
}
}
}
getBounds | () | método |
public function getBounds(targetCoordinateSpace:DisplayObject):Rectangle| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Devuelve un rectángulo que define el área del objeto de visualización relativo al sistema de coordenadas del objeto targetCoordinateSpace. Observe el siguiente código, en el que se muestra cómo el rectángulo devuelto puede variar en función del parámetro targetCoordinateSpace que pase al método:
var container:Sprite = new Sprite();
container.x = 100;
container.y = 100;
this.addChild(container);
var contents:Shape = new Shape();
contents.graphics.drawCircle(0,0,100);
container.addChild(contents);
trace(contents.getBounds(container));
// (x=-100, y=-100, w=200, h=200)
trace(contents.getBounds(this));
// (x=0, y=0, w=200, h=200)
Nota: utilice localToGlobal() y globalToLocal() para convertir las coordenadas locales del objeto de visualización en coordenadas de visualización, o las coordenadas de visualización en coordenadas locales, respectivamente.
El método getBounds() es similar al método getRect(); sin embargo, el rectángulo devuelto por el método getBounds() incluye los trazos en las formas, mientras que el rectángulo devuelto por getRect() no los incluye. Para ver un ejemplo, consulte la descripción del método getRect().
Parámetros
targetCoordinateSpace:DisplayObject — El objeto de visualización que define el sistema de coordenadas que se va a utilizar.
|
Rectangle — El rectángulo que define el área del objeto de visualización relativo al sistema de coordenadas del objeto targetCoordinateSpace.
|
Elementos de API relacionados
getRect | () | método |
public function getRect(targetCoordinateSpace:DisplayObject):Rectangle| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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. Los valores devueltos por el método getRect() son iguales o menores que los devueltos por el método getBounds().
Nota:utilice los métodos localToGlobal() y globalToLocal() para convertir las coordenadas locales del objeto de visualización en coordenadas de escenario o las coordenadas de escenario en coordenadas locales, respectivamente.
Parámetros
targetCoordinateSpace:DisplayObject — El objeto de visualización que define el sistema de coordenadas que se va a utilizar.
|
Rectangle — El rectángulo que define el área del objeto de visualización relativo al sistema de coordenadas del objeto targetCoordinateSpace.
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
getBounds() puede devolver un rectángulo de mayor tamaño que el del método getRect(), debido al área adicional que ocupan los trazos. En este caso, el objeto Sprite triangle incluye trazos adicionales debido a los parámetros width y jointStyle del método lineStyle(). El resultado de trace() (en las últimas dos líneas) muestran las diferencias entre los rectángulos getRect() y getBounds():
import flash.display.CapsStyle; import flash.display.JointStyle; import flash.display.LineScaleMode; import flash.display.Sprite; import flash.geom.Rectangle; var triangle:Sprite = new Sprite(); var color:uint = 0xFF0044; var width:Number = 20; var alpha:Number = 1.0; var pixelHinting:Boolean = true; var scaleMode:String = LineScaleMode.NORMAL; var caps:String = CapsStyle.SQUARE; var joints:String = JointStyle.MITER; triangle.graphics.lineStyle(width, color, alpha, pixelHinting, scaleMode, caps, joints); var triangleSide:Number = 100; triangle.graphics.moveTo(0, 0); triangle.graphics.lineTo(0, triangleSide); triangle.graphics.lineTo(triangleSide, triangleSide); triangle.graphics.lineTo(0, 0); addChild(triangle); trace(triangle.getBounds(this)); // (x=-10, y=-24.1, w=134.10000000000002, h=134.1) trace(triangle.getRect(this)); // (x=0, y=0, w=100, h=100)
globalToLocal | () | método |
public function globalToLocal(point:Point):Point| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Convierte el objeto point de las coordenadas del escenario (globales) en las coordenadas del objeto de visualización (locales).
Para utilizar este método, cree primero una instancia de la clase Point. Los valores x e y que asigne representarán coordenadas globales, ya que se refieren al origen (0,0) del área de visualización principal. Seguidamente, pase la instancia de Point como parámetro al método globalToLocal(). El método devuelve un nuevo objeto Point con valores x e y relativos al origen del objeto de visualización, no al origen del escenario.
Parámetros
point:Point — Un objeto creado con la clase Point. El objeto Point especifica las coordenadas x e y como propiedades.
|
Point — Un objeto Point con coordenadas relativas al objeto de visualización.
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
hitTestPoint() utilizando distintos puntos como parámetros. El método globalToLocal() convierte el punto de las coordenadas del escenario en el espacio de coordenadas de la forma:
import flash.display.Shape; import flash.geom.Point; var circle:Shape = new Shape(); circle.graphics.beginFill(0x0000FF); circle.graphics.drawCircle(40, 40, 40); circle.x = 10; addChild(circle); var point1:Point = new Point(0, 0); trace(circle.hitTestPoint(point1.x, point1.y, true)); // false trace(circle.hitTestPoint(point1.x, point1.y, false)); // false trace(circle.globalToLocal(point1)); // [x=-10, y=0] var point2:Point = new Point(10, 1); trace(circle.hitTestPoint(point2.x, point2.y, true)); // false trace(circle.hitTestPoint(point2.x, point2.y, false)); // true trace(circle.globalToLocal(point2)); // [x=0, y=1] var point3:Point = new Point(30, 20); trace(circle.hitTestPoint(point3.x, point3.y, true)); // true trace(circle.hitTestPoint(point3.x, point3.y, false)); // true trace(circle.globalToLocal(point3)); // [x=20, y=20]
globalToLocal3D | () | método |
public function globalToLocal3D(point:Point):Vector3D| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Convierte un punto bidimensional de las coordenadas (globales) del escenario en coordenadas (locales) de un objeto tridimensional.
Para utilizar este método, cree primero una instancia de la clase Point. Los valores x e y que asigne al objeto Point representarán coordenadas globales, ya que se refieren al origen (0,0) del área de visualización principal. Seguidamente, transfiera el objeto Point al método globalToLocal3D() como el parámetro point. El método devuelve coordenadas tridimensionales como un objeto Vector3D con valores x, y y z relativos al origen del objeto de visualización tridimensional.
Parámetros
point:Point — Un objeto Point bidimensional que representa las coordenadas globales x e y.
|
Vector3D — Un objeto Vector3D con coordenadas relativas al objeto de visualización tridimensional.
|
hitTestObject | () | método |
public function hitTestObject(obj:DisplayObject):Boolean| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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.
Parámetros
obj:DisplayObject — El objeto de visualización con respecto al cual se va a realizar la comprobación.
|
Boolean — true si los cuadros delimitadores de los objetos de visualización cortan; en caso contrario, false.
|
Ejemplo ( Cómo utilizar este ejemplo )
hitTestObject(). Tenga en cuenta que aunque circle2 y circle3 no se solapan, sus cuadros delimitadores sí lo hacen. Por ello, la prueba de contacto de circle2 y circle3 devuelve true .
import flash.display.Shape; var circle1:Shape = new Shape(); circle1.graphics.beginFill(0x0000FF); circle1.graphics.drawCircle(40, 40, 40); addChild(circle1); var circle2:Shape = new Shape(); circle2.graphics.beginFill(0x00FF00); circle2.graphics.drawCircle(40, 40, 40); circle2.x = 50; addChild(circle2); var circle3:Shape = new Shape(); circle3.graphics.beginFill(0xFF0000); circle3.graphics.drawCircle(40, 40, 40); circle3.x = 100; circle3.y = 67; addChild(circle3); trace(circle1.hitTestObject(circle2)); // true trace(circle1.hitTestObject(circle3)); // false trace(circle2.hitTestObject(circle3)); // true
hitTestPoint | () | método |
public function hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
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. Los parámetros x e y especifican un punto en el espacio de coordenadas del escenario, no el contenedor del objeto de visualización que contiene el objeto de visualización (a no ser que el contenedor del objeto de visualización sea el escenario).
Parámetros
x:Number — La coordenada x que se va a comprobar con respecto a este objeto.
| |
y:Number — La coordenada y que se va a comprobar con respecto a este objeto.
| |
shapeFlag:Boolean (default = false) — Indica si debe comprobarse con respecto a los píxeles del propio objeto (true) o con respecto al recuadro de delimitación (false).
|
Boolean — true si el objeto de visualización se solapa o presenta un punto de intersección con el punto especificado; false en caso contrario.
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
hitTestPoint() utilizando distintos puntos como parámetros. El método globalToLocal() convierte el punto de las coordenadas del escenario en el espacio de coordenadas de la forma:
import flash.display.Shape; import flash.geom.Point; var circle:Shape = new Shape(); circle.graphics.beginFill(0x0000FF); circle.graphics.drawCircle(40, 40, 40); circle.x = 10; addChild(circle); var point1:Point = new Point(0, 0); trace(circle.hitTestPoint(point1.x, point1.y, true)); // false trace(circle.hitTestPoint(point1.x, point1.y, false)); // false trace(circle.globalToLocal(point1)); // [x=-10, y=0] var point2:Point = new Point(10, 1); trace(circle.hitTestPoint(point2.x, point2.y, true)); // false trace(circle.hitTestPoint(point2.x, point2.y, false)); // true trace(circle.globalToLocal(point2)); // [x=0, y=1] var point3:Point = new Point(30, 20); trace(circle.hitTestPoint(point3.x, point3.y, true)); // true trace(circle.hitTestPoint(point3.x, point3.y, false)); // true trace(circle.globalToLocal(point3)); // [x=20, y=20]
local3DToGlobal | () | método |
public function local3DToGlobal(point3d:Vector3D):Point| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Convierte un punto tridimensional de las coordenadas (locales) del objeto de visualización tridimensional en un punto bidimensional en las coordenadas (globales) del escenario.
Por ejemplo, sólo se pueden utilizar coordenadas bidimensionales (x,y) para dibujar con los métodos display.Graphics. Para dibujar un objeto tridimensional es necesario asignar las coordenadas tridimensionales de un objeto de visualización a las coordenadas bidimensionales. En primer lugar, cree una instancia de la clase Vector3D que contenga las coordenadas x, y y z del objeto de visualización tridimensional. Seguidamente, transfiera el objeto Vector3D al método local3DToGlobal() como el parámetro point3d. El método devuelve un objeto Point bidimensional que se puede utilizar con la API Graphics para dibujar el objeto tridimensional.
Parámetros
point3d:Vector3D — Un objeto Vector3D que contiene o bien un punto tridimensional o las coordenadas del objeto de visualización tridimensional.
|
Point — Un punto bidimensional que representa a un punto tridimensional en un espacio bidimensional.
|
Ejemplo ( Cómo utilizar este ejemplo )
display.Graphics. La posición del objeto de visualización this está desplazada, por lo que el punto de registro del cubo es su centro. Un vector de objetos Vector3D contiene las coordenadas tridimensionales del cubo. Primero se dibuja la parte superior del cubo, luego la parte inferior y, seguidamente, se conectan las cuatro esquinas inferiores y superiores. Es preciso añadir el cubo al contenedor del objeto de visualización para poder dibujarlo y utilizar en método local3DToGlobal().
package {
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.display.Graphics;
import flash.geom.*;
public class Local3DToGlobalExample extends MovieClip {
private var myCube:Sprite = new Sprite();
private var v8:Vector.<Vector3D> = new Vector.<Vector3D>(8);
public function Local3DToGlobalExample():void {
this.x = -(this.stage.stageWidth / 2);
this.y = -(this.stage.stageWidth / 2);
v8[0] = new Vector3D(-40,-40,-40);
v8[1] = new Vector3D(40,-40,-40);
v8[2] = new Vector3D(40,-40,40);
v8[3] = new Vector3D(-40,-40,40);
v8[4] = new Vector3D(-40,100,-40);
v8[5] = new Vector3D(40,100,-40);
v8[6] = new Vector3D(40,100,40);
v8[7] = new Vector3D(-40,100,40);
myCube.x = (this.stage.stageWidth / 2);
myCube.y = (this.stage.stageWidth / 2);
myCube.z = 1;
addChild(myCube);
Cube();
}
private function Cube():void {
var ps:Point = new Point(0,0);
myCube.graphics.lineStyle(2,0xFF0000);
ps = myCube.local3DToGlobal(v8[0]);
myCube.graphics.moveTo(ps.x, ps.y);
ps = myCube.local3DToGlobal(v8[1]);
myCube.graphics.lineTo(ps.x, ps.y);
ps = myCube.local3DToGlobal(v8[2]);
myCube.graphics.lineTo(ps.x, ps.y);
ps = myCube.local3DToGlobal(v8[3]);
myCube.graphics.lineTo(ps.x, ps.y);
ps = myCube.local3DToGlobal(v8[0]);
myCube.graphics.lineTo(ps.x, ps.y);
ps = myCube.local3DToGlobal(v8[4]);
myCube.graphics.moveTo(ps.x, ps.y);
ps = myCube.local3DToGlobal(v8[5]);
myCube.graphics.lineTo(ps.x, ps.y);
ps = myCube.local3DToGlobal(v8[6]);
myCube.graphics.lineTo(ps.x, ps.y);
ps = myCube.local3DToGlobal(v8[7]);
myCube.graphics.lineTo(ps.x, ps.y);
ps = myCube.local3DToGlobal(v8[4]);
myCube.graphics.lineTo(ps.x, ps.y);
ps = myCube.local3DToGlobal(v8[0]);
myCube.graphics.moveTo(ps.x, ps.y);
ps = myCube.local3DToGlobal(v8[4]);
myCube.graphics.lineTo(ps.x, ps.y);
ps = myCube.local3DToGlobal(v8[1]);
myCube.graphics.moveTo(ps.x, ps.y);
ps = myCube.local3DToGlobal(v8[5]);
myCube.graphics.lineTo(ps.x, ps.y);
ps = myCube.local3DToGlobal(v8[2]);
myCube.graphics.moveTo(ps.x, ps.y);
ps = myCube.local3DToGlobal(v8[6]);
myCube.graphics.lineTo(ps.x, ps.y);
ps = myCube.local3DToGlobal(v8[3]);
myCube.graphics.moveTo(ps.x, ps.y);
ps = myCube.local3DToGlobal(v8[7]);
myCube.graphics.lineTo(ps.x, ps.y);
}
}
}
localToGlobal | () | método |
public function localToGlobal(point:Point):Point| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Convierte el objeto point de coordenadas del objeto de visualización (locales) en coordenadas del escenario (globales).
Este método permite convertir unos valores cualesquiera de las coordenadas x e y de valores relativos al origen (0,0) de un objeto de visualización determinado (coordenadas locales) a valores relativos al origen del escenario (coordenadas globales).
Para utilizar este método, cree primero una instancia de la clase Point. Los valores x e y que asigne representarán coordenadas locales, ya que se refieren al origen del objeto de visualización.
Seguidamente, pase la instancia de Point que ha creado como parámetro al método localToGlobal(). El método devuelve un nuevo objeto Point con valores x e y relativos al origen del escenario en lugar de al origen del objeto de visualización.
Parámetros
point:Point — Nombre o identificador de un punto creado con la clase Point que especifica las coordenadas x e y como propiedades.
|
Point — Un objeto Point con coordenadas relativas al escenario.
|
Elementos de API relacionados
Ejemplo ( Cómo utilizar este ejemplo )
mouseX y mouseY del elemento sprite se encuentran en el espacio de coordenadas del objeto de visualización. Este código utiliza el método localToGlobal() para traducir estas propiedades a coordenadas globales del escenario:
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.geom.Point;
var square:Sprite = new Sprite();
square.graphics.beginFill(0xFFCC00);
square.graphics.drawRect(0, 0, 100, 100);
square.x = 100;
square.y = 200;
addChild(square);
square.addEventListener(MouseEvent.CLICK, traceCoordinates)
function traceCoordinates(event:MouseEvent):void {
var clickPoint:Point = new Point(square.mouseX, square.mouseY);
trace("display object coordinates:", clickPoint);
trace("stage coordinates:", square.localToGlobal(clickPoint));
}
added | Evento |
flash.events.Eventpropiedad Event.type =
flash.events.Event.ADDED| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Se distribuye cuando un objeto de visualización se añade a la lista de visualización. Los siguientes métodos desencadenan este evento: DisplayObjectContainer.addChild(), DisplayObjectContainer.addChildAt().
Event.ADDED define el valor de la propiedad type de un objeto de evento added.
Este evento tiene las propiedades siguientes:
| Propiedad | Valor |
|---|---|
bubbles | true |
cancelable | false; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | La instancia de DisplayObject que se va a añadir a la lista de visualización. El objeto target no siempre es el objeto de la lista de visualización que registró el detector de eventos. Utilice la propiedad currentTarget para acceder al objeto de la lista de visualización que está procesando el evento actualmente. |
Elementos de API relacionados
addedToStage | Evento |
flash.events.Eventpropiedad Event.type =
flash.events.Event.ADDED_TO_STAGE| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9.0.28.0, Flash Lite 4 |
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. Los siguientes métodos desencadenan este evento: DisplayObjectContainer.addChild(), DisplayObjectContainer.addChildAt().
Event.ADDED_TO_STAGE define el valor de la propiedad type de un objeto de evento addedToStage.
Este evento tiene las propiedades siguientes:
| Propiedad | Valor |
|---|---|
bubbles | false |
cancelable | false; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | La instancia de DisplayObject que se añade a la lista de visualización del escenario, bien directamente o a través de un subárbol que contiene la instancia de DisplayObject. Si la instancia de DisplayObject se añade directamente, el evento added se genera antes de este evento. |
Elementos de API relacionados
enterFrame | Evento |
flash.events.Eventpropiedad Event.type =
flash.events.Event.ENTER_FRAME| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
[evento de difusión] Se distribuye cuando la cabeza lectora entra en un nuevo fotograma. Si la cabeza lectora está en movimiento, o si hay un solo fotograma, este evento se distribuye continuamente junto a la velocidad de fotogramas. Este evento es un evento de difusión, lo que significa que lo distribuyen todos los objetos de visualización con un detector registrado para este evento.
La constanteEvent.ENTER_FRAME define el valor de la propiedad type de un objeto de evento enterFrame.
Nota: este evento no tiene ni "fase de captura" ni "fase de propagación", lo que significa que los detectores de eventos deben añadirse directamente a cualquier destino potencial, se encuentre o no en la lista de visualización.
Este evento tiene las propiedades siguientes:
| Propiedad | Valor |
|---|---|
bubbles | false |
cancelable | false; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | Cualquier instancia de DisplayObject con un detector registrado para el evento enterFrame. |
exitFrame | Evento |
flash.events.Eventpropiedad Event.type =
flash.events.Event.EXIT_FRAME| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | Flash Player 10, AIR 2, Flash Lite 4 |
[evento de difusión] Se distribuye cuando la cabeza lectora sale del fotograma actual. Se han ejecutado todos los scripts de fotograma. Si la cabeza lectora está en movimiento, o si hay un solo fotograma, este evento se distribuye continuamente junto a la velocidad de fotogramas. Este evento es un evento de difusión, lo que significa que lo distribuyen todos los objetos de visualización con un detector registrado para este evento.
La constanteEvent.EXIT_FRAME define el valor de la propiedad type de un objeto de evento exitFrame.
Nota: este evento no tiene ni "fase de captura" ni "fase de propagación", lo que significa que los detectores de eventos deben añadirse directamente a cualquier destino potencial, se encuentre o no en la lista de visualización.
Este evento tiene las propiedades siguientes:
| Propiedad | Valor |
|---|---|
bubbles | false |
cancelable | false; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | Cualquier instancia de DisplayObject con un detector registrado para el evento enterFrame. |
frameConstructed | Evento |
flash.events.Eventpropiedad Event.type =
flash.events.Event.FRAME_CONSTRUCTED| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | Flash Player 10, AIR 2, Flash Lite 4 |
[evento de difusión] Se distribuye una vez ejecutados los constructores de los objetos de visualización del fotograma, pero antes de que se ejecuten los scripts de fotograma. Si la cabeza lectora está en movimiento, o si hay un solo fotograma, este evento se distribuye continuamente junto a la velocidad de fotogramas. Este evento es un evento de difusión, lo que significa que lo distribuyen todos los objetos de visualización con un detector registrado para este evento.
La constanteEvent.FRAME_CONSTRUCTED define el valor de la propiedad type de un objeto de evento frameConstructed.
Nota: este evento no tiene ni "fase de captura" ni "fase de propagación", lo que significa que los detectores de eventos deben añadirse directamente a cualquier destino potencial, se encuentre o no en la lista de visualización.
Este evento tiene las propiedades siguientes:
| Propiedad | Valor |
|---|---|
bubbles | false |
cancelable | false; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | Cualquier instancia de DisplayObject con un detector registrado para el evento frameConstructed. |
removed | Evento |
flash.events.Eventpropiedad Event.type =
flash.events.Event.REMOVED| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Se distribuye cuando un objeto de visualización se va a eliminar de la lista de visualización. Los métodos de la clase DisplayObjectContainer generan este evento: removeChild() y removeChildAt().
Los siguientes métodos de un objeto DisplayObjectContainer también generan este evento si un objeto debe eliminarse para hacer sitio para el nuevo objeto: addChild(), addChildAt() y setChildIndex().
Event.REMOVED define el valor de la propiedad type de un objeto de evento removed.
Este evento tiene las propiedades siguientes:
| Propiedad | Valor |
|---|---|
bubbles | true |
cancelable | false; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | La instancia de DisplayObject que se va a quitar de la lista de visualización. El objeto target no siempre es el objeto de la lista de visualización que registró el detector de eventos. Utilice la propiedad currentTarget para acceder al objeto de la lista de visualización que está procesando el evento actualmente. |
removedFromStage | Evento |
flash.events.Eventpropiedad Event.type =
flash.events.Event.REMOVED_FROM_STAGE| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9.0.28.0, Flash Lite 4 |
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. Los métodos de la clase DisplayObjectContainer generan este evento: removeChild() y removeChildAt().
Los siguientes métodos de un objeto DisplayObjectContainer también generan este evento si un objeto debe eliminarse para hacer sitio para el nuevo objeto: addChild(), addChildAt() y setChildIndex().
Event.REMOVED_FROM_STAGE define el valor de la propiedad type de un objeto de evento removedFromStage.
Este evento tiene las propiedades siguientes:
| Propiedad | Valor |
|---|---|
bubbles | false |
cancelable | false; no hay ningún comportamiento predeterminado que cancelar. |
currentTarget | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | La instancia de DisplayObject que se elimina de la lista de visualización del escenario, bien directamente o a través de un subárbol que contiene la instancia de DisplayObject. Si la instancia de DisplayObject se elimina directamente, el evento removed se produce antes de este evento. |
render | Evento |
flash.events.Eventpropiedad Event.type =
flash.events.Event.RENDER| Versión del lenguaje: | ActionScript 3.0 |
| Versiones de motor de ejecución: | AIR 1.0, Flash Player 9, Flash Lite 4 |
[evento de difusión] Se distribuye cuando la lista de visualización se va a actualizar y representar. Este evento proporciona la última oportunidad a los objetos detectores de este evento para que realicen cambios antes de que se muestre la lista de visualización. Debe llamar al método invalidate() del objeto Stage cada vez que quiera distribuir un evento render. Los eventos Render se distribuyen a un objeto sólo si hay confianza mutua entre éste y el objeto que originó la llamada a Stage.invalidate(). Este evento es un evento de difusión, lo que significa que lo distribuyen todos los objetos de visualización con un detector registrado para este evento.
Nota: este evento no se distribuye si no se muestra ninguna visualización. Este es el caso cuando el contenido se minimiza o se tapa.
La constanteEvent.RENDER define el valor de la propiedad type de un objeto de evento render.
Nota: este evento no tiene ni "fase de captura" ni "fase de propagación", lo que significa que los detectores de eventos deben añadirse directamente a cualquier destino potencial, se encuentre o no en la lista de visualización.
Este evento tiene las propiedades siguientes:
| Propiedad | Valor |
|---|---|
bubbles | false |
cancelable | false; no es posible cancelar el comportamiento predeterminado. |
currentTarget | Objeto que procesa de forma activa el objeto de evento con un detector de eventos. |
target | Cualquier instancia de DisplayObject con un detector registrado para el evento render. |
DisplayObjectExample para dibujar un cuadrado naranja en la esquina del escenario y responder después a los eventos al mostrar información de texto de cada uno de ellos. Esta tarea se consigue siguiendo los pasos siguientes:
- Se declaran propiedades de clase para el color y el tamaño del cuadrado.
- El constructor llama al método
draw(), que dibuja un cuadrado naranja en el escenario en las coordenadas predeterminadas de x = 0, y = 0. - Se asocian al cuadrado los siguientes métodos de detector de eventos:
addedHandler()detecta eventosadded, distribuidos cuando se añade el cuadrado a la lista de visualización.enterFrameHandler()detecta eventosenterFrame, que no tienen ningún significado real en este ejemplo.removedHandler()detecta eventosremoved, distribuidos cuando el cuadrado se elimina de la lista de visualización, lo que ocurre cuando se hace clic en el cuadrado.clickHandler()detecta eventosclick, distribuidos cuando se hace clic en el cuadrado naranja.renderHandler()detecta eventosrenderdespués de que se actualiza la lista de visualización.
package {
import flash.display.Sprite;
public class DisplayObjectExample extends Sprite {
public function DisplayObjectExample() {
var child:CustomDisplayObject = new CustomDisplayObject();
addChild(child);
}
}
}
import flash.display.DisplayObject;
import flash.display.Sprite;
import flash.display.Stage;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.*;
class CustomDisplayObject extends Sprite {
private var bgColor:uint = 0xFFCC00;
private var size:uint = 80;
public function CustomDisplayObject() {
draw();
addEventListener(Event.ADDED, addedHandler);
addEventListener(Event.ENTER_FRAME, enterFrameHandler);
addEventListener(Event.REMOVED, removedHandler);
addEventListener(MouseEvent.CLICK, clickHandler);
addEventListener(Event.RENDER, renderHandler);
}
private function draw():void {
graphics.beginFill(bgColor);
graphics.drawRect(0, 0, size, size);
graphics.endFill();
}
private function clickHandler(event:MouseEvent):void {
trace("clickHandler: " + event);
parent.removeChild(this);
}
private function addedHandler(event:Event):void {
trace("addedHandler: " + event);
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.addEventListener("resize", resizeHandler);
}
private function enterFrameHandler(event:Event):void {
trace("enterFrameHandler: " + event);
removeEventListener("enterFrame", enterFrameHandler);
}
private function removedHandler(event:Event):void {
trace("removedHandler: " + event);
stage.removeEventListener("resize", resizeHandler);
}
private function renderHandler(event:Event):void {
trace("renderHandler: " + event);
}
private function resizeHandler(event:Event):void {
trace("resizeHandler: " + event);
}
}
Tue Jun 12 2018, 02:12 PM Z
Ocultar propiedades públicas heredadas
Mostrar propiedades públicas heredadas

















