Question

I ai données graphiques complexes sur une image-objet ou une forme (peu importe qui est exactement). Mais je veux attirer l'ombre (intérieure aussi) pour une Rect ([10, 10, 240, 25] par exemple) ou un autre chemin.

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

Est-il possible d'effectuer w \ o filtres?

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


résolution:

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

http: //help.adobe .com / ru_RU / AS3LCR / Flash_10.0 / flash / écran / BitmapData.html # applyFilter ()

Était-ce utile?

La solution

Je suppose que vous ne voulez pas ajouter des filtres à votre objet parce que vous envisagez d'ajouter un colorTransform et ne veulent pas les filtres pour changer la couleur aussi.

si tel est le cas ce que vous pouvez faire est séparé le filtre en créant un autre sprite de la même taille que l'original, ajouter un filtre d'ombre portée du nouveau sprite avec le paramètre hideObject défini sur 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);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top