forked from: forked from: flash on 2010-2-3

by hibibi
chomeoのやつをフォークしてみたかっただけなんだからね!
♥0 | Line 44 | Modified 2010-02-09 17:21:49 | MIT License
play

ActionScript3 source code

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

// forked from chomeo's forked from: flash on 2010-2-3
// forked from chomeo's flash on 2010-2-3

/**
* chomeoのやつをフォークしてみたかっただけなんだからね!
*/
package {
	import flash.display.Graphics;
    import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.MouseEvent;
	import flash.geom.Point;
    public class FlashTest extends Sprite {
        public function FlashTest() {
            // write as3 code here..
            //drawStar(20,0x000000);
            //drawStar(10,0x0000ff);
            //drawStar(2,0x00ff00);
			
			stage.addEventListener(MouseEvent.CLICK, _onStageClick);
        }
		
		private function _onStageClick(e:MouseEvent):void {
			_drawStar(Math.random() * 10, Math.random() * 0xFFFFFF, new Point(stage.mouseX, stage.mouseY), Math.random() * 300);
		}
		
        private function _drawStar(size:int,color:uint,center:Point,radius:Number):void {
            /*
			graphics.lineStyle(size,color);
            graphics.moveTo(235,36);
            graphics.lineTo(64,334);
            graphics.lineTo(408,334);
            graphics.lineTo(284,126);
            graphics.lineTo(408,126);
            graphics.lineTo(235,425);
            graphics.lineTo(58,126);
            graphics.lineTo(284,126);
            graphics.lineTo(235,36);
			//*/
			
			var tx:Number;
			var ty:Number;
			var g:Graphics = graphics;
			g.lineStyle(size, color);
			var rotList:Array = _getRotList(6);
			var rad:Number;
			for (var i:int = 0; i < rotList.length; i++) {
				var nxtRot:Number = rotList[(i + 2) % rotList.length];
				
				rad = Math.PI / 180 * rotList[i];
				tx = Math.cos(rad)*radius + center.x;
				ty = Math.sin(rad)*radius + center.y;
				g.moveTo(tx, ty);
				
				rad = Math.PI / 180 * nxtRot;
				tx = Math.cos(rad)*radius + center.x;
				ty = Math.sin(rad)*radius + center.y;
				g.lineTo(tx, ty);
			}
			
        }
		
		private function _getRotList(numVertex:int):Array {
			var baseRot:Number = 360 / numVertex;
			var rot:Number = 0;
			var arr:Array = [];
			for (var i:int = 0; i < numVertex; i++) {
				arr.push(rot);
				rot += baseRot;
			}
			return arr;
		}
    }
}