3 votes

AS3 : Graphics.lineStyle() -- Modifier uniquement ALPHA ?

Dans la méthode Graphics.lineStyle() vous passez l'alpha comme troisième paramètre. Je ne veux pas modifier l'épaisseur ou la couleur, qui sont les deux premiers paramètres. Existe-t-il un moyen de modifier simplement l'alpha ? Ou au moins de "récupérer" l'épaisseur et la couleur afin de les repasser pour qu'elles ne changent pas ?

Merci !

2voto

jeremynealbrown Points 7588

Une option serait d'envelopper l'objet graphique que vous faites circuler et d'ajouter des getters et setters pour les propriétés individuelles qui ne sont autrement disponibles que comme paramètres.

Pseudo-code :

public class CustomGraphics 
{
    // -- here is the wrapped graphics object
    protected var _graphics:Graphics;

    // -- unique properties for line style
    protected var _lineColor:uint;
    protected var _lineThickness:int;
    protected var _lineAlpha:Number;

    public function CustomGraphics( gfx:Graphics )
    {
          _graphics = gfx;
          _lineColor = 0;
          _lineThickness = 1;
          _lineAlpha = 1;

          draw();
    }

    public function set lineAlpha( value:Number ):void
    {
        if( _lineAlpha != value ) {
             _lineAlpha = value;
             // -- insert code to redraw or invalidate here
             draw();
        }
    }

    public function draw():void {
        _graphics.setLineStyle( _lineThickness, _lineColor, _lineAlpha );
    }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X