Previous Page
Next Page

Recipe 7.7. Drawing a Circle

Problem

You want to draw a circle at runtime.

Solution

Use the Grahics.drawCircle( ) method.

Discussion

Drawing a circle with the standard drawing methods is not as simple as you might think. Because of Flash's simplified, single control point Bezier calculations, it requires at least eight segments to create a circle that looks convincingly like a circle. Making the calculations in order to draw each segment of the circle requires a fair amount of math and code. However, the Graphics class has a drawCircle( ) method that greatly simplifies drawing a circle. The drawCircle( ) method requires three parameters:



x

The x coordinate of the circle's center point.



y

The y coordinate of the circle's center point.



radius

The radius of the circle.

The following draws a circle with a radius of 50 and the center point at 100,100:

sampleSprite.graphics.lineStyle(  );
sampleSprite.graphics.drawCircle(100, 100, 50);

Drawing concentric circles is simple enough; just specify the same center point for the circles:

sampleSprite.graphics.lineStyle(  );
sampleSprite.graphics.drawCircle(100, 100, 50);
sampleSprite.graphics.drawCircle(100, 100, 100);

You can fill a circle by calling beginFill( ), beginGradientFill( ), or beginBitmapFill( ) before drawCircle( ), and calling endFill( ) after drawCircle( ):

sampleSprite.graphics.lineStyle(  );
sampleSprite.graphics.beginFill(0xFF0000);
sampleSprite.graphics.drawCircle(100, 100, 50);
sampleSprite.graphics.endFill(  );


Previous Page
Next Page
Converted from CHM to HTML with chm2web Pro 2.85 (unicode)