直線で図形
直線だけで図形を描いてみよう
Lv1:扇型の図形を描いてみよう
Lv2:中心に四角形の穴があいた図形を描いてみよう
Lv3:中心に円形の穴があいた図形を描いてみよう
※:なるべく線が重ならないようにする
♥0 |
Line 72 |
Modified 2010-01-04 18:42:34 |
MIT License
archived:2017-03-20 12:28:40
ActionScript3 source code
/**
* Copyright Nyarineko ( http://wonderfl.net/user/Nyarineko )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/lRZR
*/
//直線だけで図形を描いてみよう
//Lv1:扇型の図形を描いてみよう
//Lv2:中心に四角形の穴があいた図形を描いてみよう
//Lv3:中心に円形の穴があいた図形を描いてみよう
//※:なるべく線が重ならないようにする
package
{
import flash.display.*;
import flash.geom.*;
import flash.text.*;
import flash.utils.*;
[SWF(width="465", height="465", backgroundColor="0xffffff", frameRate="40")]
public class Main extends Sprite
{
private var tf:TextField = new TextField();
public function Main():void
{
var time:uint = getTimer();
//ここを編集->
var rad:Number;
var ex:Number;
var ey:Number;
var i:uint;
for(i = 0;i <= 465;i++){
rad = (i*(90/465)-119) * Math.PI/180;
ex = 100 * Math.cos(rad);
ey = 100 * Math.sin(rad);
myDrawLine(i,0,ex+465/2,ey+465/2);
}
for(i = 0;i <= 465;i++){
rad = (i*(90/465)-29) * Math.PI/180;
ex = 100 * Math.cos(rad);
ey = 100 * Math.sin(rad);
myDrawLine(465,i,ex+465/2,ey+465/2);
}
for(i = 0;i <= 465;i++){
rad = (465-i*(90/465)-225) * Math.PI/180;
ex = 100 * Math.cos(rad);
ey = 100 * Math.sin(rad);
myDrawLine(0,i,ex+465/2,ey+465/2);
}
for(i = 0;i <= 465;i++){
rad = (465-i*(90/465)+45) * Math.PI/180;
ex = 100 * Math.cos(rad);
ey = 100 * Math.sin(rad);
myDrawLine(i,465,ex+465/2,ey+465/2);
}
//ここまで<-
stage.addChild(tf);
tf.appendText("time : " + String(getTimer()-time));
}
//直線を引く(開始座標x,開始座標y,目標座標x,目標座標y)
private function myDrawLine(sx:Number,sy:Number,ex:Number,ey:Number):void
{
var shape:Shape = new Shape();
stage.addChild(shape);
shape.graphics.lineStyle (
2,
0x000000,
1,
true,
"none",
"none",
"miter"
);
shape.graphics.lineGradientStyle (
GradientType.LINEAR,
[0xff0000 , 0x00ff00, 0x0000ff ],
[0.0 , 0.5 , 1.0],
[0 , 127 , 255],
new Matrix(1,0,0,1,0,0),
SpreadMethod.PAD,
InterpolationMethod.LINEAR_RGB,
0.0
);
shape.graphics.moveTo (sx, sy);
shape.graphics.lineTo (ex, ey);
}
}
}