精通Flex 3.0――4.4.2 Timer类

来源:互联网 发布:注册域名需要什么 编辑:程序博客网 时间:2024/05/12 19:17

ActionScript 3.0中,提供一个Timer类。通过这个类可以定时的调用其他的方法或者函数。这样可以控制循环的定时调用。创建Timer类实例的方法如下代码所示。

var flexTimer:Timer=new Timer(500,10);                       //声明500毫秒调用一次,共调用10

Timer的构造函数有两个整型参数。第一个参数代表调用的时间间隔以毫秒为单位。另外一个参数为调用的次数。开始Timer的调用使用start方法。同时需要添加一个时间监听,使得每次到达规定的时间间隔可以调用相应的函数。也可以添加一个完成调用的监听,当内容调用全部结束的时候,可以调用特定的函数。下面构建一个Timer类的应用,步骤如下。

1)创建一个Flex项目,命名为“TimerStu”。创建一个FlexStuTimer的类。打开FlexStuTimer.as文件,修改代码如下。

package

{

//引入包

import flash.events.TimerEvent;

import flash.utils.Timer;

         public class FlexStuTimer

         {

                  public function FlexStuTimer()

                   {

                            //创建一个500毫秒间隔,10次的Timer

                           var curTimer:Timer = new Timer(500, 10);

                            //添加一个事件监听器,使得每次到达时间间隔调用output方法

                            curTimer.addEventListener(TimerEvent.TIMER, outPut);

                            //添加一个事件监听使得完成所有Timer调用后,调用函数timerComplete

                            curTimer.addEventListener(TimerEvent.TIMER_COMPLETE,timerComplete);

                            //开始时间间隔的调用

                            curTimer.start();

                   }

                  public function outPut(evt:TimerEvent):void

                   {

                            //每次输出调用的次数

                            trace("输出次数 " + evt.target.currentCount);

                   }

                  public function timerComplete(evt:TimerEvent):void

                   {

                            //调用完毕输出内容

                            trace("调用完毕");

                   }

         }

}

在这个例子中,定义了一个outPut的方法。同时定义一个事件监听器,监听时间间隔并调用outPut方法。定义一个timerComplete的方法。同时定义一个事件监听器,监听调用完成并调用timerComplete方法。

2)打开TimerStu.xml文件,修改代码如下所示。

<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">

<mx:Script>

         <![CDATA[

                  var showTimerstu:FlexStuTimer=new FlexStuTimer();

         ]]>

</mx:Script>        

</mx:Application>

这里只是定义了一个FlexStuTimer实例。在FlexStuTimer类的构造函数中,完成对Timer的调用。

3)保存并调试TimerStu项目,为了能看到控制台的输出必须调试项目。输出内容如下。

输出次数 1

输出次数 2

输出次数 3

输出次数 4

输出次数 5

输出次数 6

输出次数 7

输出次数 8

输出次数 9

输出次数 10

调用完毕

在调试时,每500毫秒输出一次内容,最后输出“调用完毕”。

原创粉丝点击