curveToを使って閉じた曲線を描く

by _wonder
♥0 | Line 27 | Modified 2010-04-08 19:06:27 | MIT License
play

ActionScript3 source code

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

package {
    import flash.display.Sprite;

    public class Multicurves extends Sprite {
        private var num:uint = 9;
        public function Multicurves() {
            init();
        }
        
        public function init():void {
        		var points:Array = new Array();
        		for(var i:int = 0; i < num; i++){
        			points[i] = new Object();
        			points[i].x = Math.random() * stage.stageWidth;
        			points[i].y = Math.random() * stage.stageHeight;
        		}
        		graphics.lineStyle(1);
        		
        		var xc1:Number = (points[0].x+points[num-1].x) / 2;
        		var yc1:Number = (points[0].y+points[num-1].y) / 2;
        		graphics.moveTo(xc1,yc1);
        		
        		for(var j:int = 0; j < num-1; j++){
        			var xc:Number = (points[j].x+points[j+1].x) / 2;
        			var yc:Number = (points[j].y+points[j+1].y) / 2;
        			graphics.curveTo(points[j].x, points[j].y, xc, yc);
        		}
        		
        		graphics.curveTo(points[j].x, points[j].y, xc1, yc1);
        }
    }
}

Forked