160509_10
/**
* 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);
});
}
}
}