用Flash制作动态时钟

时间:2022-07-21 09:31:04

用Flash制作动态时钟

摘要:利用Flash动作脚本提供的交互程序设计。只需掌握一些简单的脚本命令,就可制作精美的动态时钟。

关键词:Flash Action 元件 图层

中图分类号:TP317.4 文献标识码:B 文章编号:1002-2422(2008)01-0048-02

用Flash制作一个精美的动态小时钟,将它拖到屏幕一角。方便查看当前时间和日期。最终效果图见图1。

(1)启动Flash,新建一个影片文件(大小自定);

(2)制作时钟里的时针。新建一个影片剪辑元件,命名为hours,进入元件的编辑区后,使用钢笔工具绘制时针形状,适当填充颜色,同时适当调整将中心位置,如图2所示;

(3)制作时钟里的分针。新建一个影片剪辑元件,命名为minutes,方法同步骤(2),如图3所示;

(4)制作时钟里的秒针。新建一个影片剪辑元件,命名为seconds,方法同步骤(2),如图4所示;

(5)返回场景1,将图层命名为“表盘”,先导入背景图片并拖入到舞台,调整大小,打散;使用椭圆工具制作一个空心圆环,适当调整位置大小,用作时钟的边框;添加表盘刻度:

(6)新建图层,重命名为“指针”,然后将元件Hours、minutes和Seconds拖到场景中,注意指针中心位置应与表盘中心对齐;

(7)新建图层,重命名为“日历”,使用文本工具绘制一个动态文本框,设置动态文本框的文本变量名为datestr,用来动态显示年、月、日和星期。注意可与“指针”层交换位置;

(8)添加一个图层命名为Action,设置控制时钟运行的Action脚本;

在第1帧添加如下Action:

time=new Date();

hours=time.getHours();  minutes=time.getMinutes();

seconds=time.getSeeonds();

if(hours>12){

hours=hours-12;

}

if(hours

hours=12;

}

hours=hours*30+int(minutes/2);

minutes=minutes*6+int(seconds/10);

MoDnd8=seconds*6;

millisecond=fime.getMilllseeonds();

hours=hours*30+(minutes/2);  minutes=minutes*6+(seconds/10);

seconds=(seconds+millisecond/1000)*6;

注意:替换上边相应三句,可改变指针跳动频率

year=time.getFullYear():

datestr=year+“年”+(time.getMonth()+1)+“月”+time.getDate()+“日”;

switch(time.getDay()){

case 1:datestrfdatestr+“星期一”;break;

cage 2:datestr=datestr+“星期一”;break;

case 3:datestr=datestr+“星期三”;break;

case 4:datesu'=datestr+“星期四”;break;

case 5:datestr=datestr+“星期五”;break;

case 6:datestr=datestr+“星期六”;break;

case 0:datestr=datestr+“星期日”;break;}

在第2帧添加如下Action:

gotoAndPlay(1);

(9)给三个表针添加各自的Action,使其可以按照自

己的规律进行旋转。

给时针添加如下Action:

onClipEvent(enterFmme){

setProperty(this,_rotation,_root.hours);}

给分针添加如下Action:

onClipEvent(enterFrame){

setProperty(this,_rotation,_root.minutes);}

给秒针添加如下Action:

onClipEvent(enterFrame){

setProperty(this,_rotation,_root.seconds);}

上一篇:对网络考试系统的研究 下一篇:合法性、合理性视角下的信用卡恶意透支问题