Paqueteflash.filters
Clasepublic final class DisplacementMapFilter
HerenciaDisplacementMapFilter Inheritance BitmapFilter Inheritance Object

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

La clase DisplacementMapFilter utiliza los valores de píxel del objeto BitmapData especificado (denominado imagen del mapa de desplazamiento) para realizar un desplazamiento de un objeto. Puede utilizar este filtro para aplicar un efecto combado o moteado a cualquier objeto que herede de la clase DisplayObject, como objetos MovieClip, SimpleButton, TextField y Video, y también objetos BitmapData.

El uso de filtros depende del objeto al que se aplique el filtro:

Si aplica un filtro a un objeto de visualización, el valor de la propiedad cacheAsBitmap del objeto de visualización se establece en true. Si borra todos los filtros, se restaurará el valor original de cacheAsBitmap.

El filtro utiliza la fórmula siguiente:

dstPixel[x, y] = srcPixel[x + ((componentX(x, y) - 128) * scaleX) / 256, y + ((componentY(x, y) - 128) *scaleY) / 256)

donde componentX(x, y) obtiene el valor de color de la propiedad componentX de la propiedad mapBitmap en (x - mapPoint.x ,y - mapPoint.y).

La imagen del mapa que utiliza el filtro se modifica para coincidir con el ajuste de escala del escenario. No se modifica cuando el propio objeto está a escala.

Este filtro admite la aplicación de escala en el escenario. Sin embargo, no se puede ajustar la escala, rotación y sesgo general. Si el objeto está a escala (si las propiedades scaleX y scaleY se establecen en un valor distinto de 1.0), no se escala el filtro. Sólo se escalará cuando el usuario acerque el escenario.

Ver los ejemplos

Véase también

flash.display.BitmapData.applyFilter()
flash.display.DisplayObject.filters
flash.display.DisplayObject.cacheAsBitmap


Propiedades públicas
 PropiedadDefinido por
  alpha : Number
Especifica el valor de transparencia alfa que debe utilizarse para desplazamientos fuera de los límites.
DisplacementMapFilter
  color : uint
Especifica el color que debe utilizarse para desplazamientos fuera de los límites.
DisplacementMapFilter
  componentX : uint
Describe qué canal de color se utilizará en la imagen del mapa para desplazar el resultado x.
DisplacementMapFilter
  componentY : uint
Describe qué canal de color se utilizará en la imagen del mapa para desplazar el resultado y.
DisplacementMapFilter
 Inheritedconstructor : Object
Una referencia a la clase de objeto o función constructora para una instancia de objeto determinada.
Object
  mapBitmap : BitmapData
Objeto BitmapData que contiene los datos del mapa de desplazamiento.
DisplacementMapFilter
  mapPoint : Point
Un valor que contiene el desplazamiento de la esquina superior izquierda del objeto de visualización de destino desde la esquina superior izquierda de la imagen del mapa.
DisplacementMapFilter
  mode : String
Modo del filtro.
DisplacementMapFilter
 Inheritedprototype : Object
[static] Una referencia al objeto prototipo de una clase u objeto de función.
Object
  scaleX : Number
Multiplicador que debe utilizarse para ajustar el tamaño del resultado del desplazamiento de x con respecto al cálculo del mapa.
DisplacementMapFilter
  scaleY : Number
Multiplicador que debe utilizarse para ajustar el tamaño del resultado del desplazamiento de y con respecto al cálculo del mapa.
DisplacementMapFilter
Métodos públicos
 MétodoDefinido por
  
DisplacementMapFilter(mapBitmap:BitmapData = null, mapPoint:Point = null, componentX:uint = 0, componentY:uint = 0, scaleX:Number = 0.0, scaleY:Number = 0.0, mode:String = "wrap", color:uint = 0, alpha:Number = 0.0)
Inicializa una instancia DisplacementMapFilter con los parámetros especificados.
DisplacementMapFilter
  
Devuelve una copia de este objeto de filtro.
DisplacementMapFilter
 Inherited
Indica si un objeto tiene definida una propiedad especificada.
Object
 Inherited
Indica si hay una instancia de la clase Object en la cadena de prototipo del objeto especificado como parámetro.
Object
 Inherited
Indica si existe la propiedad especificada y si es enumerable.
Object
 Inherited
Establece la disponibilidad de una propiedad dinámica para operaciones de bucle.
Object
 Inherited
Devuelve la representación de cadena del objeto especificado.
Object
 Inherited
Devuelve el valor simple del objeto especificado.
Object
Información sobre propiedades
alphapropiedad
alpha:Number  [read-write]

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

Especifica el valor de transparencia alfa que debe utilizarse para desplazamientos fuera de los límites. Se especifica como un valor normalizado de 0,0 a 1,0. Por ejemplo, 0,25 establece un valor de transparencia del 25%. El valor predeterminado es 0. Utilice esta propiedad si mode se define como DisplacementMapFilterMode.COLOR.


Implementación
    public function get alpha():Number
    public function set alpha(value:Number):void
colorpropiedad 
color:uint  [read-write]

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

Especifica el color que debe utilizarse para desplazamientos fuera de los límites. El rango de desplazamiento válido va de 0,0 a 1,0. Los valores tienen formato hexadecimal. El valor predeterminado de color es 0. Utilice esta propiedad si mode se define como DisplacementMapFilterMode.COLOR.


Implementación
    public function get color():uint
    public function set color(value:uint):void
componentXpropiedad 
componentX:uint  [read-write]

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

Describe qué canal de color se utilizará en la imagen del mapa para desplazar el resultado x. Los valores posibles son constantes BitmapDataChannel:


Implementación
    public function get componentX():uint
    public function set componentX(value:uint):void

Véase también

componentYpropiedad 
componentY:uint  [read-write]

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

Describe qué canal de color se utilizará en la imagen del mapa para desplazar el resultado y. Los valores posibles son constantes BitmapDataChannel:


Implementación
    public function get componentY():uint
    public function set componentY(value:uint):void

Véase también

mapBitmappropiedad 
mapBitmap:BitmapData  [read-write]

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

Objeto BitmapData que contiene los datos del mapa de desplazamiento.


Implementación
    public function get mapBitmap():BitmapData
    public function set mapBitmap(value:BitmapData):void

Emite
TypeError — El objeto BitmapData es null cuando se define

Véase también

mapPointpropiedad 
mapPoint:Point  [read-write]

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

Un valor que contiene el desplazamiento de la esquina superior izquierda del objeto de visualización de destino desde la esquina superior izquierda de la imagen del mapa.


Implementación
    public function get mapPoint():Point
    public function set mapPoint(value:Point):void

Emite
TypeError — El objeto Point es null cuando se define

Véase también

modepropiedad 
mode:String  [read-write]

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

Modo del filtro. Los valores posibles son constantes DisplacementMapFilterMode:


Implementación
    public function get mode():String
    public function set mode(value:String):void

Emite
TypeError — La cadena es null cuando se define
 
ArgumentError — La cadena de modo no pertenece a los tipos válidos

Véase también

scaleXpropiedad 
scaleX:Number  [read-write]

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

Multiplicador que debe utilizarse para ajustar el tamaño del resultado del desplazamiento de x con respecto al cálculo del mapa.


Implementación
    public function get scaleX():Number
    public function set scaleX(value:Number):void
scaleYpropiedad 
scaleY:Number  [read-write]

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

Multiplicador que debe utilizarse para ajustar el tamaño del resultado del desplazamiento de y con respecto al cálculo del mapa.


Implementación
    public function get scaleY():Number
    public function set scaleY(value:Number):void
Información sobre constructores
DisplacementMapFilter()constructor
public function DisplacementMapFilter(mapBitmap:BitmapData = null, mapPoint:Point = null, componentX:uint = 0, componentY:uint = 0, scaleX:Number = 0.0, scaleY:Number = 0.0, mode:String = "wrap", color:uint = 0, alpha:Number = 0.0)

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

Inicializa una instancia DisplacementMapFilter con los parámetros especificados.

Parámetros
mapBitmap:BitmapData (default = null) — Objeto BitmapData que contiene los datos del mapa de desplazamiento.
 
mapPoint:Point (default = null) — Un valor que contiene el desplazamiento de la esquina superior izquierda del objeto de visualización de destino desde la esquina superior izquierda de la imagen del mapa.
 
componentX:uint (default = 0) — Describe qué canal de color se utilizará en la imagen del mapa para desplazar el resultado x. Los valores posibles son las constantes BitmapDataChannel.
 
componentY:uint (default = 0) — Describe qué canal de color se utilizará en la imagen del mapa para desplazar el resultado y. Los valores posibles son las constantes BitmapDataChannel.
 
scaleX:Number (default = 0.0) — Multiplicador que debe utilizarse para ajustar el tamaño del resultado del desplazamiento de x con respecto al cálculo del mapa.
 
scaleY:Number (default = 0.0) — Multiplicador que debe utilizarse para ajustar el tamaño del resultado del desplazamiento de y con respecto al cálculo del mapa.
 
mode:String (default = "wrap") — Modo del filtro. Los valores posibles son las constantes DisplacementMapFilterMode.
 
color:uint (default = 0) — Especifica el color que debe utilizarse para desplazamientos fuera de los límites. El rango de desplazamiento válido va de 0,0 a 1,0. Utilice este parámetro si mode se define como DisplacementMapFilterMode.COLOR.
 
alpha:Number (default = 0.0) — Especifica el valor alfa que debe utilizarse para desplazamientos fuera de los límites. Se especifica como un valor normalizado de 0,0 a 1,0. Por ejemplo, 0,25 establece un valor de transparencia del 25%. Utilice este parámetro si mode se define como DisplacementMapFilterMode.COLOR.

Véase también

Información sobre métodos
clone()método
public override function clone():BitmapFilter

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

Devuelve una copia de este objeto de filtro.

Valor devuelto
BitmapFilter — Una nueva instancia de DisplacementMapFilter con las mismas propiedades que la original.
Ejemplos Cómo utilizar los ejemplos
DisplacementMapFilterExample.as

En el ejemplo siguiente, se dibuja un cuadrado con un relleno con degradado radial, se crea un campo de texto y un objeto BitmapData, y se aplica un filtro de mapa de desplazamiento al objeto DisplacementMapFilterExample. El flujo de trabajo general de este ejemplo es el siguiente:
  1. La clase define variables para el color de fondo, para la etiqueta del campo de texto y para el tamaño y el desplazamiento que se utilizarán en diversas funciones.
  2. La función constructora llama al método draw(), que utiliza los métodos de la clase Graphics para dibujar un cuadrado con relleno degradado radial. Observe que graphics es una propiedad del objeto DisplacementMapFilterExample que amplía Sprite.
  3. La función constructora llama al método createLabel(), que crea un campo de texto con el valor de labelText y lo añade a la lista de visualización.
  4. La función constructora llama al método createFilter(), que hace lo siguiente:
    • Crea una variable llamada filter para el objeto filter.
    • Llama al método getDisplacementMapFilter() y asigna su valor devuelto a la variable filter.
    • Transfiere filter a la propiedad filters del objeto DisplacementFilterExample (clase principal).
  5. El método getBitmapFilter() crea un objeto BitmapData llamado mapBitmap y le asigna los resultados del método createBitmapData(). El objeto mapBitmap, junto con otras variables, define un nuevo filtro de mapa de desplazamiento.
  6. El método createBitmapData() crea un nuevo objeto BitmapData basado en el contenido actual del objeto DisplacementMapFilterExample. Crea un nuevo mapa de bits basado en bitmapData y lo añade al escenario.
package {
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.display.BitmapDataChannel;
    import flash.display.GradientType;
    import flash.display.SpreadMethod;
    import flash.display.Sprite;
    import flash.filters.BitmapFilter;
    import flash.filters.DisplacementMapFilter;
    import flash.filters.DisplacementMapFilterMode;
    import flash.geom.Matrix;
    import flash.geom.Point;
    import flash.text.TextField;

    public class DisplacementMapFilterExample extends Sprite {
        private var bgColor:uint     = 0xFFCC00;
        private var size:uint        = 200;
        private var offset:uint      = 90;
        private var labelText:String = "Watch the text bend with the displacement map";

        public function DisplacementMapFilterExample() {
            draw();
            createLabel();
            createFilter();
        }

        private function createFilter():void {
            var filter:BitmapFilter = getBitmapFilter();
            filters = new Array(filter);
        }

        private function getBitmapFilter():BitmapFilter {
            var mapBitmap:BitmapData = createBitmapData();
            var mapPoint:Point       = new Point(0, 0);
            var channels:uint        = BitmapDataChannel.RED;
            var componentX:uint      = channels;
            var componentY:uint      = channels;
            var scaleX:Number        = 0.5;
            var scaleY:Number        = -30;
            var mode:String          = DisplacementMapFilterMode.CLAMP;
            var color:uint           = 0;
            var alpha:Number         = 0;
            return new DisplacementMapFilter(mapBitmap,
                                             mapPoint,
                                             componentX,
                                             componentY,
                                             scaleX,
                                             scaleY,
                                             mode,
                                             color,
                                             alpha);
        }

        private function draw():void {
            var matrix:Matrix = new Matrix();
            matrix.createGradientBox(size, size);
            graphics.beginGradientFill(GradientType.RADIAL,
                                       [0xFF0000, 0x0000FF],
                                       [100, 100],
                                       [55, 200],
                                       matrix,
                                       SpreadMethod.PAD);
            graphics.drawRect(0, 0, size, size);
        }

        private function createBitmapData():BitmapData {
            var bitmapData:BitmapData = new BitmapData(size, size, true, bgColor);
            bitmapData.draw(this, new Matrix());
            var bitmap:Bitmap = new Bitmap(bitmapData);
            bitmap.x = size;
            addChild(bitmap);
            return bitmapData;
        }

        private function createLabel():void {
            var tf:TextField = new TextField();
            tf.text = labelText;
            tf.y = offset;
            tf.width = size;
            addChild(tf);
        }
    }
}




 

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

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