ljl 发表于 2007-4-26 21:51:04

用flash制作精巧的时钟

http://www.sz1001.net/info/../images/pix.gif

  时钟是日常生活中必备的物品,有了它我们才可以有计划的进行学习和工作.这次我们用flash来制作一个精美的小时钟,你可以把它拖到电脑屏幕的一角,使工作中的你可以方便的查看当前时间和日期.

  本实例最终效果如图1所示;


http://img.skycn.com/articleimg/20021112-16.gif
图1 时钟的最终效果


  1.首先启动flash,新建一个影片,设置影片舞台大小为270px*320px(单位为象素),背景颜色为灰色,颜色代码为#cccccc.

  2.首先制作时钟里的时针.新建一个影片剪辑元件,命名为hours,进入元件的编辑区后,使用矩形工具绘制一个细长的无边框的矩形,填充色为灰色,颜色代码为#999999,如图2所示;


http://img.skycn.com/articleimg/20021112-17.gif
图2 制作时针


  3.然后制作时钟里的分针.新建一个影片剪辑元件,命名为minutes,进入元件的编辑区后,使用矩形工具绘制一个细长的无边框的矩形,填充色为深灰色,颜色代码为#666666,如图3所示;


http://img.skycn.com/articleimg/20021112-18.gif
图3 制作分针


  4.最后制作时钟里的秒针.新建一个影片剪辑元件,命名为seconds,进入元件的编辑区后,使用矩形工具绘制一个细长的无边框的矩形,填充色为红色,颜色代码为#ff0000,如图4所示;


http://img.skycn.com/articleimg/20021112-19.gif
图4 制作秒针


  5.新建一个图形元件,命名为outeregde,进入元件的编辑区后,使用前面实例中介绍的方法制作一个圆环,填充色为灰色,颜色代码为#999999,用作时钟的边框,如图5所示;


http://img.skycn.com/articleimg/20021112-20.gif
图5 制作时钟的边框


  6.回到主场景中,将影片默认的图层layer1重命名为outeredge,然后将元件outeregde拖到舞台上,调整其位置到舞台的中央.

  7.新建一个图层numbers,使用文本工具分别输入从1到12这12个数字,并绕着时钟边框排列其位置,如图6所示;


http://img.skycn.com/articleimg/20021112-21.gif
图6 添加时间数字


  8.新建一个图层clockhands,分别将元件hours, minutes和seconds拖到场景中,然后使用椭圆工具绘制一个黑色无边框的正圆,将其放置在表盘的中心,然后分别将时针,分针和秒针放到表盘的中心,使三个表针的下部和中心位置对齐,如图7所示;



http://img.skycn.com/articleimg/20021112-22.gif
图7 在表盘中添加表针


  9.添加图层pagetitle,使用工具分别绘制一个静态文本框和一个动态文本框,在静态文本框中输入时钟的标签:flash时钟,设置动态文本框的文本变量名为time,用来动态显示年,月,日和星期.

  10.最后添加一个图层命名为action,设置控制时钟运行的action脚本.

  在第1帧添加如下action:

time = new date();//定义time为date日期对象

hours = time.gethours();//取得当前系统的小时,并赋给变量hours

minutes = time.getminutes();//取得当前系统的分钟,并赋给变量minutes

seconds = time.getseconds();//取得当前系统的秒钟,并赋给变量seconds

if (hours>12) {

hours = hours-12;

}

if (hours<1) {

hours = 12;

}

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

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

seconds = seconds*6;

  在第2帧添加如下action:

gotoandplay(1);

  11.最后一步是给三个表针添加各自的action,使其可以按照自己的规律进行旋转

给时针添加如下action:

onclipevent (enterframe) {

setproperty(this, _rotation, _root.hours);

}

  给分针添加如下action;

onclipevent (enterframe) {

setproperty(this, _rotation, _root.minutes);

}

  给秒针添加如下action:

onclipevent (enterframe) {

setproperty(this, _rotation, _root.seconds);

}

http://www.sz1001.net/info/../down_info.asp?id=444












------ ------ ---------------- ----------

http: / /www.huoyue.c om.cn   活跃 网,活跃人群的 论坛, 访问活跃网,将给您带来意想不到的收获,还可以免费为您 开论坛,让您免费拥有与朋友、网友交流的论坛。你是年轻人 吗?你活跃你就 上!
页: [1]
查看完整版本: 用flash制作精巧的时钟