时间:2022-07-21 09:31:04
摘要:利用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);}