flash on 2011-4-21

by hirotrail
curveToで円描けたよー。右端から時計回り。curveToひとつで円周の1/8ずつ書いているんだねー。
curveTo(中継点のx座標,y座標,終点のx座標,終点のy座標)。
♥0 | Line 28 | Modified 2011-04-23 00:36:45 | MIT License
play

ActionScript3 source code

/**
 * Copyright hirotrail ( http://wonderfl.net/user/hirotrail )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/dj3g
 */

package {
    import flash.display.Sprite;
    public class drawCircles3 extends Sprite {
        public function drawCircles3() {
            // write as3 code here..
        var centerX:Number = 100;
        var centerY:Number = 200;
        var r:Number = 50;
        

        //左上がY=0なのねー忘れてた!
        graphics.lineStyle(2,0xff0006);
        graphics.moveTo(centerX+r,centerY);
        
        graphics.curveTo(r+centerX,Math.tan(Math.PI/8)*r+centerY, //a
                         Math.sin(Math.PI/4)*r+centerX,Math.sin(Math.PI/4)*r+centerY); //a'
        graphics.curveTo(Math.tan(Math.PI/8)*r+centerX,r+centerY, //b
                         centerX,r+centerY); //b'                         
        graphics.curveTo(-Math.tan(Math.PI/8)*r+centerX,r+centerY, //c
                         -Math.sin(Math.PI/4)*r+centerX,Math.sin(Math.PI/4)*r+centerY);//c'                         
        graphics.curveTo(-r+centerX,Math.tan(Math.PI/8)*r+centerY, //d
                        -r+centerX,centerY);//d'                         
        graphics.curveTo(-r+centerX,-Math.tan(Math.PI/8)*r+centerY, //e
                        -Math.sin(Math.PI/4)*r+centerX,-Math.sin(Math.PI/4)*r+centerY);//e'                         
        graphics.curveTo(-Math.tan(Math.PI/8)*r+centerX,-r+centerY,  //f
                        centerX,-r+centerY);//f'                         
        graphics.curveTo(Math.tan(Math.PI/8)*r+centerX,-r+centerY,  //g
                        Math.sin(Math.PI/4)*r+centerX,-Math.sin(Math.PI/4)*r+centerY);//g'                         
        graphics.curveTo(r+centerX,-Math.tan(Math.PI/8)*r+centerY,  //h
                        r+centerX,centerY);//h'                         




        }
    }
}