落ちる数値

by yuugurenote
上から0~9のランダムな下に落ちていきます。
♥0 | Line 48 | Modified 2011-05-29 13:16:03 | MIT License
play

ActionScript3 source code

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

package {
    import flash.text.TextField;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.geom.ColorTransform;
    import flash.utils.Timer;
    import flash.events.TimerEvent;
    [SWF(width=465,height=465,backgroundColor=0x1F1F1F,frameRate=60)]  

    public class FlashTest  extends Sprite {

        private var sw:Number=stage.stageWidth;
        private var sh:Number=stage.stageHeight;
        private var timer:Timer=new Timer(700);

        public function FlashTest () {

            timer.addEventListener(TimerEvent.TIMER,xTimer);
            timer.start();

            function xTimer(e:TimerEvent):void {
                var mySprite:Sprite = new Sprite();
                mySprite.x=sw/2;
                mySprite.y=-10;
                mySprite.graphics.beginFill(0xFFFFFF,0);
                mySprite.graphics.drawCircle(0,0,1);
                mySprite.graphics.endFill();
                addChild(mySprite);

                var myText:TextField = new TextField();
                myText.text=String(Math.floor(Math.random()*9));
                mySprite.addChild(myText);

                //白色にします。
                var myColor:ColorTransform = new ColorTransform();
                myColor.color=0xFFFFFF;
                mySprite.transform.colorTransform=myColor;

                //mySpriteの行き先用の数値
                var px:Number=Math.random()*sw/2+sh/5;//中央っぽくなるような数値

                //mySpriteの動作
                mySprite.addEventListener(Event.ENTER_FRAME,xEnter);
                function xEnter(e:Event):void {
                    mySprite.x += (px - mySprite.x)/100;
                    mySprite.y += (sh - mySprite.y)/60;
                    //mySprite.rotation+=3; 本当は回転させたいのですが何故か表示がおかしくなります。
                    mySprite.scaleX+=0.006;
                    mySprite.scaleY+=0.006;
                    mySprite.alpha-=0.001;

                    if (mySprite.y>sh) {
                        mySprite.graphics.clear();
                        mySprite.removeEventListener(Event.ENTER_FRAME,xEnter);
                        removeChild(mySprite);
                    }
                }
            }
        }
    }
}