Forked from: argon's forked from: Vectorの練習 其の参 diff:15 forked from: forked from: Vectorの練習 其の参 Statsを使ってみたかったので。 argon forked:0favorite:0lines:58license : MIT License modified : 2012-03-21 23:28:24 Embed Tweet // forked from AfroBoy's forked from: Vectorの練習 其の参 // forked from AfroBoy's Vectorの練習 其の参 package { import flash.display.GraphicsPathCommand; import flash.display.Sprite; import flash.events.Event; import flash.geom.Point; import net.hires.debug.Stats; /** * ... * @author I am Afro Boy ヾ(。`Д´。)ノ */ public class Main extends Sprite { private var bg:Sprite; private var sp:Sprite; private var commands:Vector.<int>; private var data:Vector.<Number>; private var r:Number; public function Main():void { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { removeEventListener(Event.ADDED_TO_STAGE, init); // entry point bg=new Sprite(); bg.graphics.beginFill(0x000000); bg.graphics.drawRect(0,0,456,456); bg.graphics.endFill(); addChild(bg); commands = new Vector.<int>(); commands.push(GraphicsPathCommand.MOVE_TO); data = new Vector.<Number>(); data.push(0, 0); var rad:Number = 2 * Math.PI /Math.tan(Math.random()); for (var i:int = 0; i < 700 ; i++) { commands.push(GraphicsPathCommand.LINE_TO);// iの値分だけ繰り返す r = i * i /500; var pt:Point = Point.polar(r, rad * i); data.push(pt.x, pt.y); } drawObject(); addChild(new Stats()); } private function drawObject():void { sp = new Sprite(); sp.graphics.lineStyle(1,0xffffff); sp.graphics.drawPath(commands, data); sp.graphics.endFill(); sp.x = sp.y = 250; addChild(sp); addEventListener(Event.ENTER_FRAME, onEnterFrameHandler); } private function onEnterFrameHandler(e:Event):void { sp.rotation += .2; } } } Code Fullscreen Preview Fullscreen , Stats drawPath Event.ADDED_TO_STAGE Point.polar stage rotation Stats Math.tan addEventListener addChild removeEventListener push Event Event.ENTER_FRAME Vector Point Math.PI Math.random Sprite int Number