Flash / Flex / ActionScript/Graphics/Curve

Материал из Web эксперт
Перейти к: навигация, поиск

Curve control point

 
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);
    }

  }
}



Drawing Curves: curveTo(controlX:Number, controlY:Number, anchorX:Number, anchorY:Number)

 
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
    }
  }
}



Drawing Curves in a Graphics Object

 
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);
    }
  }
}