日期和时间是在 ActionScript 程序中使用的一种常见信息类型。在 ActionScript 3.0中,可以使用 Date 类来表示某一时刻,其中包含日期和时间信息。Date 实例中包含各个日期和时间单位的值,其中包括年、月、日、星期、小时、分钟、秒、毫秒以及时区。ActionScript 还包括 Timer 类,您可以使用该类在一定延迟后执行动作,或按重复间隔执行动作。本例中用到了Date和Timer这两个类,用到了TimeEvent事件类。首先我们还是出示完整代码:
import flash.events.TimerEvent;
import flash.utils.Timer;
var clocktime:Timer=new Timer(1000);
clocktime.addEventListener(TimerEvent.TIMER,showtime);
function showtime(e:TimerEvent):void {
var mydate:Date=new Date();
clock.text=mydate.getFullYear()+"年"+int(mydate.getMonth()+1)+"月"+mydate.getDate()+"日"+"\n"+mydate.getHours()+":"+mydate.getMinutes()+":"+mydate.getSeconds();
}
clocktime.start();
下面我们来讲解具体制作方法。首先我们新建一个fla文件,运用Flash文字工具在屏幕上绘制一个文本框,设置为动态文本,并指定实例名为clock。在文档的第一帧写下以上代码,最后测试一下。一切搞定。
代码详解:前三行,我们导入了本实例用到的两个类。分别是TimerEvent类和Timer类,TimerEvent类创建一个 Event 对象,其中包含有关 timer 事件的特定信息。 将 Event 对象作为参数传递给事件侦听器。Timer 类是 Flash Player 计时器的接口。 可以创建新的 Timer 对象,以便按指定的时间顺序运行代码。 使用 start() 方法来启动计时器。 为 timer 事件添加事件侦听器,以便将代码设置为按计时器间隔运行。
第三行新建了timer类的实例,名为clocktime,并初始化为每隔1000毫秒运行一次,并且无限制的执行下去。如果想运行几次则代码更改如下:var clocktime:Timer=new Timer(1000,5);这表示每隔1000毫秒运行一次,一共运行5次。
第四行给clocktime添加了事件侦听器。第五行是处理函数,这函数中新建了Date类的实例。并运用到了Date类的一些方法,getFullYear()方法按照本地时间返回 Date 对象中的完整年份值(一个 4 位数,如 2000)。其他我们从字面可以得知具体返回的值,这里就不一一讲解了。把这些返回的值连接起来,并赋值给动态文本框的text属性。
最后一行,启动计时器并开始执行代码。