flash on 2012-9-12

by tepe
♥0 | Line 67 | Modified 2012-09-13 10:23:43 | MIT License
play

ActionScript3 source code

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

package {
    import flash.display.*;
    import flash.geom.*;
    import flash.text.*;
    import flash.events.*;
    
    public class FlashTest extends Sprite {
        private var s:Sprite = new Sprite();
        private var tf:TextField = new TextField();
        
        private var p1:Point = new Point();
        private var r:Number = 100;
        private var rot:Number = 0;
        public function FlashTest() {
            // write as3 code here..
            
            addChild(s);
            s.x = 200;
            s.y = 200;
            s.graphics.beginFill(0x00ff00);
            s.graphics.drawRect(0,0,100,100);
            s.graphics.endFill();
            
            addChild(tf);
            tf.text = "test";
            addEventListener(Event.ENTER_FRAME,onFrame);
            
        }
        private function onFrame(e:Event):void{
            aaa();
            rot += Math.PI/180;
            rot %= Math.PI*2;
            p1.x = r*Math.cos(rot);
            p1.y = r*Math.sin(rot);
            
            tf.text = Math.atan2(p1.y,p1.x).toString();
            tf.appendText("\n"+rot.toString());
        }

        private function aaa():void{
            s.graphics.clear();
            
            s.graphics.lineStyle(1,0xaaaaaa);
            s.graphics.drawCircle(0,0,r);
            s.graphics.moveTo(0,-300);
            s.graphics.lineTo(0,300);
            s.graphics.moveTo(-300,0);
            s.graphics.lineTo(300,0);
            
            //s.graphics.beginFill(0xff0000);
            //s.graphics.drawCircle(p1.x,p1.y,5);
            //s.graphics.endFill();
            
            s.graphics.lineStyle(1,0xff0000);
            s.graphics.moveTo(p1.x,0);
            s.graphics.lineTo(p1.x,p1.y);
            
            s.graphics.lineStyle(1,0x0000ff);
            s.graphics.moveTo(0,0);
            s.graphics.lineTo(p1.x,0);
            
            s.graphics.lineStyle(1,0x00ff00);
            s.graphics.moveTo(0,0);
            s.graphics.lineTo(p1.x,p1.y);
            
            s.graphics.lineStyle(1,0x333333);
            draw_arc(s,0,0,r,0,rot);
            draw_arc(s,0,0,r/8,0,rot);
            
        }
        
        public function draw_arc(movieclip:Sprite , center_x:Number, center_y:Number,
                                 radius:Number, angle_from:Number, angle_to:Number, precision:Number=200):void{
            var angle_diff:Number = angle_to-angle_from;
            var steps:Number = Math.round(angle_diff*precision);
            var angle:Number = angle_from;
            var px:Number = center_x+radius*Math.cos(angle);
            var py:Number = center_y+radius*Math.sin(angle);
            movieclip.graphics.moveTo(px,py);
            for (var i:int=1; i<=steps; i++) {
                angle=angle_from+angle_diff/steps*i;
                movieclip.graphics.lineTo(center_x+radius*Math.cos(angle),center_y+radius*Math.sin(angle));
            }
        }
        
    }
}