Flash:打造你自己的专业时钟

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

在读完这篇文章后,你就可以做自己的时钟了。首先,我们会制作简单的数字时钟来显示小时和分钟,接着我们会使我们的项目更复杂。你应该明白ActionScript的基础知识!

另外:变量是英文的1但我会解释所有的变量。

笔者是在Flash Professional 8上做的,不过我想,Flash 5应该就可以做了。

开始行动吧!

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'。

上面的结果你可能还不满意,那好,让我们现在再加入年、月、日和毫秒。

1.编辑影片剪辑, 再加入一个动态文本并设置其变量为datetext;

2.把影片剪辑中的代码全部删除然后粘贴下面的代码:

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(); file://得到系统礼拜

if (hour <10) {

hour = "0"+ hour;

}

if (minute <10) {

minute = "0"+ minute;

}

if (second <10) {

second = "0"+ second;

}

if (milisecond <10) {

milisecond = "0"+ milisecond;

}

file://把礼拜显示为中文

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.如果它正常工作,那么你已经成功完成你的专业时钟了!!!

给最懒的人:添加两个动态文本在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(); file://得到系统礼拜

if (hour <10) {

hour = "0"+ hour;

}

if (minute <10) {

minute = "0"+ minute;

}

if (second <10) {

second = "0"+ second;

}

if (milisecond <10) {

milisecond = "0"+ milisecond;

}

file://把礼拜显示为中文

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;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航