flash on 2010-5-27
---
Circle
---------------------------------------
一度描いたものを消してから
ステージに表示
角度が360度になるまで
線の色:ランダム
線の色:白
lineColor = 0xFFFFFF;
線の長さ:ランダム
一定
len = 50;
中心から伸びる方向(角度)
angleの角度からlenの長さに伸びた先のポイントを取得
中心から伸びるようにするため、基準点をセンターに
ラインスタイル
線の出発点
終了地点
角度を0に戻す
ステージ上でマウスを押すとスタート
マウスを離すとストップ(消える)
マウスが押されてる間
---
Rectangle
---------------------------------------
いちばん小さい(内側)長方形の大きさ(初期値)
何個長方形作るか
長方形の間隔
長方形エリアを新たに(外で作るとinflateの影響を受け続けてしまう)
2回目以降のリセットの
長方形をRectangleを使ってかく
長方形エリアを縦横1ピクセル広げる
♥0 |
Line 61 |
Modified 2010-05-27 14:52:28 |
MIT License
archived:2017-03-20 11:02:40
ActionScript3 source code
/**
* Copyright yaha ( http://wonderfl.net/user/yaha )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/kB8x
*/
var pt:Point;
var center:Point = new Point(stage.stageWidth/2, stage.stageHeight/2);
var len:uint;
var radian:Number = 1*Math.PI/180;
var angle:Number = 0;
var lineSize:uint = 1;
var lineColor:uint;
var container:Shape = new Shape();
/*---
Circle
---------------------------------------*/
function createCircle():void{
//一度描いたものを消してから
container.graphics.clear();
//ステージに表示
addChild(container);
//角度が360度になるまで
while(angle<=2*Math.PI){
//線の色:ランダム
lineColor = Math.random()*0xFFFFFF;
//線の色:白
//lineColor = 0xFFFFFF;
//線の長さ:ランダム
len = Math.round(Math.random()*50);
//一定
//len = 50;
//中心から伸びる方向(角度)
angle += radian;
//angleの角度からlenの長さに伸びた先のポイントを取得
pt = Point.polar(len,angle);
//中心から伸びるようにするため、基準点をセンターに
pt.offset(center.x, center.y);
//ラインスタイル
container.graphics.lineStyle(lineSize,lineColor);
//線の出発点
container.graphics.moveTo(center.x,center.y);
//終了地点
container.graphics.lineTo(pt.x,pt.y);
}
//角度を0に戻す
angle = 0;
}
circle_btn.addEventListener(MouseEvent.MOUSE_DOWN,MOUSE_DOWN_CIRCLE);
circle_btn.addEventListener(MouseEvent.MOUSE_UP,MOUSE_UP_CIRCLE);
//ステージ上でマウスを押すとスタート
function MOUSE_DOWN_CIRCLE(event:MouseEvent):void{
stage.addEventListener(Event.ENTER_FRAME, ENTER_FRAME_CIRCLE);
}
//マウスを離すとストップ(消える)
function MOUSE_UP_CIRCLE(event:MouseEvent):void{
stage.removeEventListener(Event.ENTER_FRAME, ENTER_FRAME_CIRCLE);
container.graphics.clear();
}
//マウスが押されてる間
function ENTER_FRAME_CIRCLE(event:Event):void{
createCircle();
}
/*---
Rectangle
---------------------------------------*/
//いちばん小さい(内側)長方形の大きさ(初期値)
var size:uint = 10;
//何個長方形作るか
var count:uint = 20;
//長方形の間隔
var margin:uint = 2;
function createRect(){
container.graphics.clear();
//長方形エリアを新たに(外で作るとinflateの影響を受け続けてしまう)
//2回目以降のリセットの
var rect:Rectangle = new Rectangle(stage.stageWidth/2-size/2, stage.stageHeight/2-size/2,size,size);
addChild(container);
for(var i:Number = 1;i<=count;i++){
lineColor=Math.random()*0xFFFFFF;
container.graphics.lineStyle(lineSize,lineColor);
//長方形をRectangleを使ってかく
container.graphics.drawRect(rect.x, rect.y, rect.width, rect.height);
//長方形エリアを縦横1ピクセル広げる
rect.inflate(margin,margin);
}
}
rect_btn.addEventListener(MouseEvent.MOUSE_DOWN,MOUSE_DOWN_RECT);
rect_btn.addEventListener(MouseEvent.MOUSE_UP,MOUSE_UP_RECT);
function MOUSE_DOWN_RECT(event:MouseEvent):void{
stage.addEventListener(Event.ENTER_FRAME, ENTER_FRAME_RECT);
}
function MOUSE_UP_RECT(event:MouseEvent):void{
stage.removeEventListener(Event.ENTER_FRAME, ENTER_FRAME_RECT);
container.graphics.clear();
}
function ENTER_FRAME_RECT(event:Event):void{
createRect();
}