In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

160509_10

Get Adobe Flash player
by kazgo2 08 May 2016
    Embed
/**
 * Copyright kazgo2 ( http://wonderfl.net/user/kazgo2 )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/iuE3
 */

package {
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    import flash.events.Event;
    import flash.utils.Timer;
      
    public class TimerAnim1 extends Sprite {
        public function TimerAnim1():void {
            // クリックイベントを監視する
            stage.addEventListener(MouseEvent.CLICK, onClick);
        }

        private function onClick(event:MouseEvent):void {
            // ランダムな大きさの円を描くための変数nRに代入
            var nR:int = Math.ceil(Math.random()*20)+10;
            // 円を作成
            var oneCircle:Sprite = new Sprite();
            // 初期スケールの設定
            oneCircle.scaleX = oneCircle.scaleY = 0;
            // ランダムに色を選択して、塗り始めに代入
            oneCircle.graphics.beginFill(Math.random() * 0x1000000);
            // 描く円のサイズに変数nRを引き渡して作成 + 中心を少しずらす
            oneCircle.graphics.drawCircle(20, 0, nR);
            oneCircle.graphics.endFill();
            addChild(oneCircle);
            // 改めて作成した円をクリックした位置に配置
            oneCircle.x = event.stageX;
            oneCircle.y = event.stageY;

            // 初期スケールの設定
            oneCircle.scaleX = oneCircle.scaleY = 0;

            // タイマー開始
            var timer:Timer = new Timer(50, 20);
            timer.start();
            timer.addEventListener("timer", function(event:Event):void {
                var ratio:Number = timer.currentCount / timer.repeatCount;
                oneCircle.alpha = 1 - ratio;
                oneCircle.scaleX = 5 * ratio;
                oneCircle.scaleY = 5 * ratio;
                oneCircle.rotation = 360 * ratio;
            });
            timer.addEventListener("timerComplete", function(event:Event):void {
                removeChild(oneCircle);
            });
        }
    }
}