Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flash Pascal Discussion :

Dégradé radial


Sujet :

Flash Pascal

  1. #1
    Membre expérimenté
    Dégradé radial
    Je me suis essayé sur un dégradé radial sur un exemple simple :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
     program degraderadial;
     
    uses Flash8,Math;
     
     {$FRAME_WIDTH 400}
     {$FRAME_HEIGHT 400}
     
     
    type
      TMovieclip = class(MovieClip)
        constructor Create;
        procedure circle(r,cx,cy:double);
      end;
     
     
     
    constructor TMovieclip.Create;
    var  Matrix1 :Matrix;
    begin
     inherited Create(nil,'mymovieclip',1);
     matrix1:=Matrix.create;
     matrix1.createBox(1,1,0,200,200 );//1-1 : echelle 100% - 0 rad pour la rotation du dégradé - (200,200 ) coord du centre du dégradé radial
     beginGradientFill('radial',[$ff0000,$00ff00,$0000ff],[100,100,100],[10,30,80],Matrix1);
     circle(200,200,200);
     endFill();
    end;
     
    procedure  TMovieclip.Circle(r,cx,cy:double);
    var a,b<img src="images/smilies/icon_biggrin.gif" border="0" alt="" title=":D" class="inlineimg" />ouble;
    begin
      a:= r * 0.414213562;
      b:= r * 0.707106781;
      lineStyle(3, $FFFBF0);
      moveTo(r+cx, cy);
      curveTo( r+cx, -a+cy, +b+cx, -b+cy);
      curveTo( a+cx, -r+cy, cx, -r+cy);
      curveTo(-a+cx, -r+cy, -b+cx, -b+cy);
      curveTo(-r+cx, -a+cy, -r+cx, cy);
      curveTo(-r+cx, +a+cy, -b+cx, +b+cy);
      curveTo(-a+cx, +r+cy, cx, +r+cy);
      curveTo( a+cx, +r+cy, +b+cx, +b+cy);
      curveTo( r+cx, +a+cy, +r+cx, cy);  
    end;
     
     
     
    begin
     TMovieclip.Create;
    end.


    Ma question est la suivante : pour le dernier tableau de BeginGradiantFill qui concerne tableau des positions sur lesquelles sont centrées les couleurs, le résultat est différent de celui attendu ...

    Normalement, les positions des couleurs devraient être repérées par rapport au centre du dégradé vers le bout extérieur du rayon.

    Le résultat ne semble pas être le cas...Comment ça marche

    @+

  2. #2
    Expert éminent sénior
    Sur ce coup je ne pourrais pas t'aider

    la doc ActionScript2 reste la meilleur source d'information...ou éventuellement des sites explications sur ActionScript
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Membre expérimenté
    Sur ce coup je ne pourrais pas t'aider
    Merci pour ta réponse. Je vais approfondir la chose en consultant la doc ActionScript.

    Encore merci, je regarde...

    @+

###raw>template_hook.ano_emploi###