This might be a better example:

http://www.ashbrand.com/curveto_circle.swf

I am using basically the same code however, please see below:

/*--------------------------------------------------------------------*/
        this.pLine.beginFill (0xF0A0B9);
        var endX:Number, endY:Number;
        var thisPoint:MovieClip;
        var nextPoint:MovieClip;
        this.pLine.moveTo (0,100);
        
        for (var i:Number = 0; i < this.controlPoints.length - 1; i++)
        {
                thisPoint = this.controlPoints[i];
                nextPoint = this.controlPoints[i + 1];
                endX = (thisPoint._x + nextPoint._x) / 2;
                endY = (thisPoint._y + nextPoint._y) / 2;
                this.pLine.curveTo (thisPoint._x, thisPoint._y, endX, endY);
        }
        
        var lastPoint:MovieClip =
this.controlPoints[this.controlPoints.length - 1];
        this.pLine.curveTo (lastPoint._x,lastPoint._y, 0, 100);
        
        this.pLine.endFill ();
/*--------------------------------------------------------------------*/

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Ash Warren
Sent: Tuesday, July 17, 2007 1:44 PM
To: flashcoders@chattyfig.figleaf.com
Subject: [Flashcoders] Drawing API :: curveTo assistance, code and example
inside

I am trying to create a very simple way for a user to manipulate a mask
shape in Flash using curveTo.

After finding a few great online examples I feel that I'm getting pretty
close, however I cannot get rid of my "corner" control point that
begins/ends the shape.

Please view the example here and click on the top center point to see what I
mean, it manipulates the shape at more of a "right" angle instead of a nice
subtle curve like the others.

http://www.ashbrand.com/curveto.swf

The code that I am using is posted below (where "controlPoints" is simply an
array holding the x and y values for those points and "p1" is the actual mc
on the stage that acts as the start/end of the shape).

I feel like such a newb when it comes to beziers and the drawing API in
Flash.  Thank you in advance for any assistance.

/*--------------------------------------------------------------------*/
        this.pLine.beginFill (0xF0A0B9);

        var startX:Number = this.p1._x;
        var startY:Number = this.p1._y;
        var endX:Number, endY:Number;
        var thisPoint:MovieClip;
        var nextPoint:MovieClip;
        this.pLine.moveTo (startX,startY);

        for (var i:Number = 0; i < this.controlPoints.length - 1; i++)
        {
                thisPoint = this.controlPoints[i];
                nextPoint = this.controlPoints[i + 1];
                endX = (thisPoint._x + nextPoint._x) / 2;
                endY = (thisPoint._y + nextPoint._y) / 2;
                this.pLine.curveTo (thisPoint._x, thisPoint._y, endX, endY);
                
                startX = endX;
                startY = endY;
        }
        
        var lastPoint:MovieClip =
this.controlPoints[this.controlPoints.length - 1];
        this.pLine.curveTo (lastPoint._x,lastPoint._y, this.p1._x,
this.p1._y);
        
        this.pLine.endFill ();
/*--------------------------------------------------------------------*/

_______________________________________________
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com

_______________________________________________
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com

Reply via email to