タイマーを使って定期的に処理を実行する

(サンプル一覧を表示する)

タイマーを使って定期的に処理を実行するテストをしてみました。

Adobe の ActionScript 解説ページにも書いてありますが、
フレームレートの設定や、Flash Player の実行環境によっては
タイマーの周期がずれることがあるそうです。
Flash の実行画面
タイマーを使って定期的に処理を実行する

Flashプレーヤーが入っていないか、JavaScriptが無効になっているようです。

Get Adobe Flash player

タイマーを使って定期的に処理を実行する
1 秒ごとに 1 回、タイマーを動かしています。

ソースコード

package 
{
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.events.TimerEvent;
	import flash.text.TextField;
	import flash.text.TextFieldAutoSize;
	import flash.utils.Timer;
	
	/**
	 * タイマーを使って定期的に処理を実行するサンプル
	 * @author Hikipuro
	 */
	public class Main extends Sprite 
	{
		/**
		 * タイマーオブジェクト
		 */
		private var timer:Timer;
		
		/**
		 * テキストフィールド
		 */
		private var textField:TextField;
		
		/**
		 * カウント用変数
		 */
		private var count:int;
		
		/**
		 * コンストラクタ
		 */
		public function Main():void 
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);
		}
		
		/**
		 * 初期化メソッド
		 * @param	e
		 */
		private function init(e:Event = null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			// entry point
			
			// 変数の準備
			count = 0;
			
			// テキストフィールドの準備
			textField = new TextField();
			textField.autoSize = TextFieldAutoSize.LEFT;
			textField.x = 10;
			textField.y = 10;
			textField.text = "0";
			
			// テキストフィールドを画面に表示する
			addChild(textField);
			
			// タイマーの準備 (1000 ms の間隔で、停止するまで繰り返す)
			timer = new Timer(1000, 0);
			timer.addEventListener(TimerEvent.TIMER, onTimer);
			
			// タイマー開始
			timer.start();
		}
		
		/**
		 * タイマーイベント
		 * @param	e
		 */
		private function onTimer(e:TimerEvent):void 
		{
			count++;
			textField.text = count.toString();
		}
		
	}
	
}
		

外部リンク