ex08_01

by s1190133
♥0 | Line 41 | Modified 2011-07-14 18:02:11 | MIT License
play

ActionScript3 source code

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

package
{
    import flash.display.Sprite;
    import flash.display.StageAlign;
    import flash.display.StageScaleMode;
    import flash.events.Event;
    import flash.events.MouseEvent;
    
    [SWF(backgroundColor="0x000000",width=512,height=512)]
    public class ex08_03 extends Sprite
    {
        //円を乗せるSprite型のball ちなみにこいつはグローバル
        private var ball:Sprite;
        //その他パラメータいろいろ
        private var angle:Number=0;         //円の角度
        private var radius:Number=30;       //回る半径の大きさ
        private var speed:Number=-0.2;
        private var i:int=0;  //こいつでボールがいるかいないか判断
        
        
        public function ex08_03()
        {
            stage.scaleMode=StageScaleMode.NO_SCALE;
            stage.align=StageAlign.TOP_LEFT;
            
            //ボール初期化
            ball=new Sprite();
            
            //addEventListenerしちゃう
            stage.addEventListener(MouseEvent.MOUSE_DOWN,onMouseDown);
            addEventListener(Event.ENTER_FRAME,onEnterFrame);
        }
        
        //クリックされたときに働く関数
        private function onMouseDown(event:MouseEvent):void{
            if(i%2==0){
                //ボール作る
                ball.graphics.beginFill(Math.random()*0xFFFFFF);
                ball.graphics.drawCircle(0,0,10);
                ball.graphics.endFill();
            
                addChild(ball);
            }else{
                removeChild(ball);
            }
            
            i++;     //1回押されるごとにカウントしとく
        }
        private function onEnterFrame(e:Event):void{
            //マウスの周りでボールがくるくるするように設定
            ball.x=mouseX+Math.sin(angle)*radius;
            ball.y=mouseY+Math.cos(angle)*radius;    //ここまでだとついてくるだけ
            
            //ボールを回転させるようにangleに値を足してく
            angle+=speed;
        }
    }
}