Flash Player 6.
my_mc.curveTo(controlX:Number, controlY:Number, anchorX:Number, anchorY:Number) : Void
controlX An integer that specifies the horizontal position of the control point relative to the registration point of the parent movie clip.
controlY An integer that specifies the vertical position of the control point relative to the registration point of the parent movie clip.
anchorX An integer that specifies the horizontal position of the next anchor point relative to the registration. point of the parent movie clip.
anchorY An integer that specifies the vertical position of the next anchor point relative to the registration point of the parent movie clip.
Nothing.
Method; draws a curve using the current line style from the current drawing position to (anchorX, anchorY) using the control point specified by (controlX, controlY). The current drawing position is then set to (anchorX, anchorY). If the movie clip you are drawing in contains content created with the Flash drawing tools, calls to curveTo() are drawn underneath this content. If you call curveTo() before any calls to moveTo(), the current drawing position defaults to (0, 0). If any of the parameters are missing, this method fails and the current drawing position is not changed.
You can extend the methods and event handlers of the MovieClip class by creating a subclass. For more information, see "Assigning a class to a movie clip symbol" in Using ActionScript in Flash.
The following example draws a circle with a solid blue hairline stroke and a solid red fill:
this.createEmptyMovieClip("circle_mc", 1);
with (circle_mc) {
lineStyle(0, 0x0000FF, 100);
beginFill(0xFF0000);
moveTo(500, 500);
curveTo(600, 500, 600, 400);
curveTo(600, 300, 500, 300);
curveTo(400, 300, 400, 400);
curveTo(400, 500, 500, 500);
endFill();
}
The curve drawn in this example is a quadratic bezier curve. Quadratic bezier curves consist of two anchor points and a control point. The curve interpolates the two anchor points, and curves toward the control point.
The following ActionScript creates a circle using MovieClip.curveTo() and the Math class:
this.createEmptyMovieClip("circle2_mc", 2);
circle2_mc.lineStyle(0, 0x000000);
drawCircle(circle2_mc, 10, 10, 100);
function drawCircle(mc:MovieClip, x:Number, y:Number, r:Number):Void {
mc.moveTo(x+r, y);
mc.curveTo(r+x, Math.tan(Math.PI/8)*r+y, Math.sin(Math.PI/4)*r+x, Math.sin(Math.PI/4)*r+y);
mc.curveTo(Math.tan(Math.PI/8)*r+x, r+y, x, r+y);
mc.curveTo(-Math.tan(Math.PI/8)*r+x, r+y, -Math.sin(Math.PI/4)*r+x, Math.sin(Math.PI/4)*r+y);
mc.curveTo(-r+x, Math.tan(Math.PI/8)*r+y, -r+x, y);
mc.curveTo(-r+x, -Math.tan(Math.PI/8)*r+y, -Math.sin(Math.PI/4)*r+x, -Math.sin(Math.PI/4)*r+y);
mc.curveTo(-Math.tan(Math.PI/8)*r+x, -r+y, x, -r+y);
mc.curveTo(Math.tan(Math.PI/8)*r+x, -r+y, Math.sin(Math.PI/4)*r+x, -Math.sin(Math.PI/4)*r+y);
mc.curveTo(r+x, -Math.tan(Math.PI/8)*r+y, r+x, y);
}
An example is also in the drawingapi.fla file in the HelpExamples folder. The following list gives typical paths to this folder:
MovieClip.beginFill(),MovieClip.createEmptyMovieClip(),MovieClip.endFill(),MovieClip.lineStyle(),MovieClip.lineTo(),MovieClip.moveTo()
RSS feed | Send me an e-mail when comments are added to this page | Comment Report
Current page: http://livedocs.adobe.com/flash/mx2004/main_7_2/00001494.html
Comments
No screen name said on Feb 16, 2005 at 4:11 PM : Joeri Sebrechts said on Mar 30, 2005 at 11:04 PM : Nialsh said on May 16, 2005 at 8:58 PM : Guilt Puppy said on Feb 26, 2006 at 7:20 PM :