forked from: forked from: flash on 2010-2-7
forked from forked from: flash on 2010-2-7 (diff: 16)
ActionScript3 source code
/**
* Copyright sheep ( http://wonderfl.net/user/sheep )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/k5Li
*/
// forked from sheep's forked from: flash on 2010-2-7
// forked from sheep's flash on 2010-2-7
package {
import flash.display.MovieClip
public class Index extends MovieClip {
public function Index() {
var xList:Array = [100, 200, 150, 80, 190];
var yList:Array = [100, 100, 10, 230, 130];
var rList:Array = [10, 20, 40, 80, 160];
for(var i=0; i<xList.length; i++){
var circle:DrawCircle = new DrawCircle(xList[i], yList[i], rList[i]);
addChild(circle);
}
}
}
}
//クラスにすることでひとつひとつをインスタンスとして扱うことが出来る
import flash.display.MovieClip;
class DrawCircle extends MovieClip {
public function DrawCircle(centerX:Number, centerY:Number, r:Number) {
graphics.lineStyle(2, 0xFF0006);
graphics.moveTo(centerX+r, centerY);
/*y = Math.tan(-)*r */
/* grahics.curveTo(コントロールポイントのx,y, 終点x,y) */
//右下
graphics.curveTo(r+centerX, Math.tan(Math.PI/8)*r+centerY, Math.sin(Math.PI/4)*r+centerX, Math.sin(Math.PI/4)*r+centerY);
graphics.curveTo(Math.tan(Math.PI/8)*r+centerX, r+centerY, centerX, r+centerY);
//左下
graphics.curveTo(-Math.tan(Math.PI/8)*r+centerX, r+centerY, -Math.sin(Math.PI/4)*r+centerX, Math.sin(Math.PI/4)*r+centerY);
graphics.curveTo(-r+centerX, Math.tan(Math.PI/8)*r+centerY, -r+centerX, centerY);
//左上
graphics.curveTo(-r+centerX, -Math.tan(Math.PI/8)*r+centerY, -Math.sin(Math.PI/4)*r+centerX, -Math.sin(Math.PI/4)*r+centerY);
graphics.curveTo(-Math.tan(Math.PI/8)*r+centerX, -r+centerY, centerX, -r+centerY);
//右上
graphics.curveTo(Math.tan(Math.PI/8)*r+centerX, -r+centerY, Math.sin(Math.PI/4)*r+centerX, -Math.sin(Math.PI/4)*r+centerY);
graphics.curveTo(r+centerX, -Math.tan(Math.PI/8)*r+centerY, r+centerX, centerY);
}
}
