電気ウナギ的○○

About Home

ActionScript のタイマー処理

shinoda (2009年1月30日 10:09)

AIR の開発に Flex Builder 3 を使ってるんだけど、VisualBasic みたいに Timer コンポーネントは無いのね。

一定時間毎に、グローバル変数の値をチェックして、内容が変化したら処理を行いたいのだが、そういう場合は Timer クラスを使った処理を手書きせんといかんのね。

Timer を使った一番単純な例だと、こんな感じ。

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication
 xmlns:mx="http://www.adobe.com/2006/mxml"
 layout="absolute"
 initialize="initProc();">

 <mx:Script>
  <![CDATA[

   // タイマー処理開始
   private function initProc():void {

    // 5秒毎に延々とイベント送出を続けるタイマーインスタンス
    var timeCheck:Timer = new Timer(5000);
    // 5秒経過毎に実行されるイベントを指定
    timeCheck.addEventListener(TimerEvent.TIMER, onTick);
    // タイマースタート(イベント発生待ち)
    timeCheck.start();

   }

   // 5秒経過イベント
   public function onTick(event:TimerEvent):void {

    trace((event.target.currentCount * 5) + "秒経過");

   }

  ]]>
 </mx:Script>

</mx:WindowedApplication>

これの処理結果は、

5秒経過
10秒経過
15秒経過
20秒経過
...

のような表示が延々コンソールに出続ける。ちゃんと 5秒毎に TimerEvent.TIMER イベントが発生してるね!

「一定時間毎に、グローバル変数の値をチェック」したいのなら、onTick function のところに処理を記述する。

上の例だと無限にイベントが発生しているが、発生回数を制限したいのなら、タイマーインスタンスの生成時に、

var timeCheck:Timer = new Timer(5000, 5); // 5回まで

という具合に回数を指定してやれば良い。

簡単、簡単。

電気ウナギ的○○

電気ウナギ的○○

About Back

コメント(0)

電気ウナギ的○○

電気ウナギ的○○

About Back

トラックバック(0)

トラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/371

電気ウナギ的○○

About This Site

電気ウナギ的○○
岩国在住。広島で働く超零細IT企業社長のいわゆる社長日記。
何か、酒と食い物のことばかり書いているようで・・・お察しのとおり、肥満体です:-)


2011/06/24
iPhone用サイト公開

Create with jQuery, jQTouch.


CLOSE