タイマー

今日はタイマーを使って画像を切り替えてみた。

<?xml version="1.0"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="startTimer()">
  <mx:Script>
    <![CDATA[
      import flash.utils.Timer;
      import flash.events.TimerEvent;  
      
      var queue : Array = new Array();
      
      function startTimer() : void {
        var timer:Timer = new Timer(10000);
        timer.addEventListener(TimerEvent.TIMER, onTick);
        timer.start();
      }
      
      function onTick(e:TimerEvent) : void {
        
        if (queue.length == 0)
        {
          fillingQueue();
        }
        image.source = queue.shift();
      }
      
      function fillingQueue() : void {
        queue = [];
        queue.push("http://farm4.static.flickr.com/3014/2413571394_2376a66ca3.jpg");
        queue.push("http://farm3.static.flickr.com/2195/2421330630_9c59e32bd3.jpg");
        queue.push("http://farm3.static.flickr.com/2412/2409712639_1410dd963b.jpg");
        queue.push("http://farm4.static.flickr.com/3001/2413513199_9dd4e7abaa.jpg");
        queue.push("http://farm4.static.flickr.com/3121/2405721704_ffcb625369.jpg");
        queue.push("http://farm3.static.flickr.com/2340/2417406346_e733f0b1f9.jpg");
      }
    ]]>
  </mx:Script>
  <mx:Image id="image" />
</mx:WindowedApplication>

切り替え時が重い。2枚 image を作って切り替えるようにするか。あと、画像は先読みしてキャッシュにのせとかなダメそう。

っていうか、変数の型指定がめんどくさい。ついつい JavaScript の癖で書かないでおくと怒られる・・・。