Flash / Flex / ActionScript/Graphics/Curve
Curve control point
<source lang="java">
package{
import flash.display.Sprite; import flash.display.*; public class Main extends Sprite{ public function Main(){ var canvas:Shape = new Shape( ); addChild(canvas); canvas.graphics.lineStyle(2, 0x0000FF); curveThrough3Pts(canvas.graphics, 100, 100, 150, 50, 200, 100); }// Adapted from Robert Penner"s drawCurve3Pts( ) method public function curveThrough3Pts (g:Graphics,startX:Number, startY:Number, throughX:Number, throughY:Number, endX:Number, endY:Number) { var controlX:Number = (2 * throughX) - .5 * (startX + endX); var controlY:Number = (2 * throughY) - .5 * (startY + endY); g.moveTo(startX, startY); g.curveTo(controlX, controlY, endX, endY); }
}
}
</source>
Drawing Curves: curveTo(controlX:Number, controlY:Number, anchorX:Number, anchorY:Number)
<source lang="java">
package{
import flash.display.*; public class Main extends Sprite{ public function Main(){ var canvas:Shape = new Shape( ); addChild(canvas); canvas.graphics.lineStyle(4); // Set the stroke to 4-point, black canvas.graphics.curveTo(50, 100, 100, 0); // Draw the curve } }
}
</source>
Drawing Curves in a Graphics Object
<source lang="java">
package{
import flash.display.Sprite; public class Main extends Sprite{ public function Main(){ var spr:Sprite = new Sprite(); spr.graphics.beginFill(0x0000ff, 1.0); spr.graphics.lineStyle(1, 0x0000ff); spr.graphics.moveTo(30, 30); spr.graphics.curveTo(180, 20, 250, 30); spr.graphics.endFill(); addChild(spr); } }
}
</source>