Pregunta

Tengo un complejo de datos gráficos en un sprite o una forma (no importa que es exactamente). Pero quiero llamar la sombra (también interno) por una Rect ([10, 10, 240, 25] por ejemplo) u otro camino.

  /// code before
  grObj.graphics.drawRect( 10, 10, 240, 25);
      /// -> draw inner shadow on this objcect somehow
  /// code after

¿Es posible realizar w \ o filtros?

ps. http://ipicture.ru/uploads/100927/RHZF1K6Exu.png


resolver:

BitmapData(*).applyFilter( *,*,*,*); // play with this function :)

http: //help.adobe .com / es_ES / AS3LCR / Flash_10.0 / flash / pantalla / BitmapData.html # applyFilter ()

¿Fue útil?

Solución

Estoy asumiendo que no desea añadir filtros a su objeto, ya que planea en la adición de un colorTransform y no desea los filtros para cambio de color también.

Si ese es el caso de lo que puede hacer es separar el filtro mediante la creación de otro elemento sprite del mismo tamaño que el original, añadir un filtro de sombra al nuevo sprite con el parámetro hideObject establece en true.

//display object
var grObj:Sprite = new Sprite();
grObj.graphics.beginFill(0xFF0000, 1);
grObj.graphics.drawRect(0, 0, 240, 25);
grObj.graphics.endFill();

//filter object
var dsFilter:Sprite = new Sprite();
dsFilter.graphics.beginFill(0);
dsFilter.graphics.drawRect(0, 0, grObj.width, grObj.height);
dsFilter.graphics.endFill();

dsFilter.filters = [new DropShadowFilter(4.0, 45, 0, 1.0, 4.0, 4.0, 1.0, 3, true, false, true)];

//display list
grObj.x = dsFilter.x = 10;
grObj.y = dsFilter.y = 10;

addChild(grObj);
addChild(dsFilter);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top