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:Double;
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. |
Partager