打造你自己的专业时钟

Part 1: 简介
让我们开始吧!
在读完这篇文章后,你就可以做自己的时钟了。首先,我们会制作简单的数字时钟来显示小时和分钟,接着我们会使我们的项目更复杂。你应该明白ActionScript的基础知识!!!
另外:变量是英文的,但我会解释所有的变量。
我是在Flash Professional 8上做的,不过我想,Flash 5应该就可以做了。
注:如果不想学习这个,可以直接到第4部分。

Part 2简单时钟
开始行动吧!
1. 创建一个新文件;
2. 创建一个动态文本并且设置其变量为timetext;
3. 选择动态文本,然后把它转换为影片剪辑(右键单击它然后选择转换为元件/影片剪辑或者按F8然后选择影片剪辑);
4. 选择影片剪辑,打开动作面板,把下面的代码粘到里面:
onClipEvent (enterFrame) {
time = new Date();
hour = time.getHours();
minute = time.getMinutes();
second = time.getSeconds();
timetext= hour +" : "+ minute +" : "+ second;
}
第一行代码onClipEvent: 触发为特定影片剪辑实例定义的动作,enterFrame: 以影片剪辑的帧频连续触发该动作。第2行告诉电脑创建一个日期对象,在它中包含我们需要的时间变量。
第3行到第5行分别把系统当前的时钟值赋给变量hour,把系统当前的分钟值赋给变量minute,把系统当前的秒种值赋给变量second。
第6行用来在把时间从界面中显示出来。
5. 保存文件并测试你的影片。如果没有正常运行,下载例子文件并分析自己所有的工作;
6. 但是这儿它有一个小的bug。如果时间为23:05,时钟会显示为23:5。这样看起来不怎么美观。如果你想修正它,那么你还得再粘贴几行代码。
if (hour <10) {
hour = "0"+ hour;
}
if (minute <10) {
minute = "0"+ minute;
}
if (second <10) {
second = "0"+ second;
}

上面代码的意思是如果时钟,分钟或秒钟小于10,则在对应得数字前面加'0'。

Part 3: 高级时钟
上面的结果你可能还不满意,那好,让我们现在再加入年、月、日和毫秒。
编辑影片剪辑, 再加入一个动态文本并设置其变量为datetext;
把影片剪辑中的代码全部删除然后粘贴下面的代码:
onClipEvent (enterFrame) {
time = new Date();
hour = time.getHours();
minute = time.getMinutes();
second = time.getSeconds();
milisecond=time.getMilliseconds();
year = time.getFullYear();//得到系统年份
month = time.getMonth()+1;// 得到系统月份
date=time.getDate();//得到系统日期
day= time.getDay(); //得到系统礼拜
if (hour <10) {
hour = "0"+ hour;
}
if (minute <10) {
minute = "0"+ minute;
}
if (second <10) {
second = "0"+ second;
}
if (milisecond <10) {
milisecond = "0"+ milisecond;
}
//把礼拜显示为中文
switch (day) {
case 0 :
day = "星期日";
break;
case 1 :
day = "星期一";
break;
case 2 :
day = "星期二";
break;
case 3 :
day = "星期三";
break;
case 4 :
day = "星期四";
break;
case 5 :
day = "星期五";
break;
case 6 :
day = "星期六";
break;
}
datetext= year+"年"+month+"月"+date+"日 "+ day;
timetext= hour +" : "+ minute +" : "+ second+" : "+ milisecond;

}
3. 保存,测试。正常工作了吧^^!
4. 改变时间或日期的显示方式,编辑最后的3行代码:
timetext= hour +" hrs "+ second +" secs "+ minute +" mins "+ milisecond;
如果时间为20:15:30,你的时钟会显示为:20hrs 30secs 15mins
可能的变化是无穷的!
5.为防止以外,保存你的工作然后测试(文件/发布预览/flash)
6.如果它正常工作,那么你已经成功完成你的专业时钟了!!!
Part 4:一步到位
给最懒的人:添加两个动态文本在flash中,分别设置其变量为datetext,timetext。 添加一个新图层,在第一帧的动作面板中粘贴如下代码:
time = new Date();
hour = time.getHours();
minute = time.getMinutes();
second = time.getSeconds();
milisecond=time.getMilliseconds();
year = time.getFullYear();//得到系统年份
month = time.getMonth()+1;// 得到系统月份
date=time.getDate();//得到系统日期
day= time.getDay(); //得到系统礼拜
if (hour <10) {
hour = "0"+ hour;
}
if (minute <10) {
minute = "0"+ minute;
}
if (second <10) {
second = "0"+ second;
}
if (milisecond <10) {
milisecond = "0"+ milisecond;
}
//把礼拜显示为中文
switch (day) {
case 0 :
day = "星期日";
break;
case 1 :
day = "星期一";
break;
case 2 :
day = "星期二";
break;
case 3 :
day = "星期三";
break;
case 4 :
day = "星期四";
break;
case 5 :
day = "星期五";
break;
case 6 :
day = "星期六";
break;
}
datetext= year+"年"+month+"月"+date+"日 "+ day;
timetext= hour +" : "+ minute +" : "+ second+" : "+ milisecond;
然后发布flash或者只下载例子文件即可。
测试影片,你成功了~!
ps:这是几个月前写的flash的一个小教程,已经在it168上发表了,再发一下,希望喜欢flash的朋友可以试试!~并希望能和我多多交流,我会非常乐意答复的!
;