flash on 2010-1-16

by yanagi1001
♥0 | Line 49 | Modified 2010-01-16 03:22:45 | MIT License
play

ActionScript3 source code

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

package {
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.filters.GlowFilter;
	
	[SWF(width="465", height="465",backgroundColor="0x000000")]
	public class WonderflBook extends Sprite {
		private var _ball:Sprite;
		private var _startX:Number = 0;//xのスタート位置
		private var _endX:Number = stage.stageWidth;//xのエンド位置
		private var _frameCount:uint = 0;//再生ヘッド(フレーム数カウント用の変数)
		private var _frameCountLimit:uint = 28;//コマ数(最終フレームの位置)
		private var _animationFrames:Array;//フレーム格納用の配列
		
		public function WonderflBook() {
			init();
		}
		
		public function init():void {
			_animationFrames = generate_animationFrames();
			
			_ball = new Sprite();
			_ball.graphics.lineStyle(1, 0x00ffff);
			_ball.graphics.beginFill(0x00ffff, 0.2);
			_ball.graphics.drawCircle(0,stage.stageHeight/2,30);
			_ball.graphics.endFill();
			
			_ball.filters = [new GlowFilter(0x00ffff,1,16,16,2,2)];
			addChild(_ball);
			
			start();
		}
			
		private function generate_animationFrames():Array {
			var tmp:Array = new Array();
			var easeRatio:Number = 0.2;
			var tmpX:Number = _startX;
			
			for(var i:uint=0; i<_frameCountLimit; i++) {
				tmpX += (_endX-tmpX)*easeRatio;
				tmp.push(tmpX);
			}
			return tmp;
		}
		
		private function render(e:Event):void{//レンダリング用のメソッド
			if(_frameCount < _frameCountLimit){//現在のフレーム数が_frameCountLimit以内なら
				_ball.x=_animationFrames[_frameCount];//_ballのxに今のコマ数のx座標を代入
			}else{
				stop();//アニメーション終了
			}
			_frameCount++;//再生ヘッドを進める
		}
		
		public function start():void{addEventListener(Event.ENTER_FRAME,render);};//スタート用のメソッド。renderがENTER_FRAMEのタイミングで実行されるように設定
		public function stop():void{removeEventListener(Event.ENTER_FRAME,render);};//ストップ用のメソッド。renderがENTER_FRAMEのタイミングで実行されるように設定されているのを解除
	}
}