论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Flash教程
Tag:flash cs,flash 8,鼠绘,as,手绘,工具,文字,loading,入门,初学,mc,影片剪辑,声音,mtv,游戏,引导,遮罩,菜单,补间,广告条,时钟,视频教程

如何利用flash制作时钟?

文章类别:Flash | 发表日期:2008-9-21 15:03:30

  

如何利用flash制作时钟?
解决思路
要想制作双历指针式钟表,就要先制作电子表,利用系统函数获得当前的时间和日期,利用动态文本框显示变量值。然后分析秒针、分针、和时针的旋转角度与时间的关系,通过这个数学模型,我们就能做出双历指针式钟表。
具体步骤
1、??运行Flash?MX?2004,新建影片剪辑,命名为“表盘”。进入编辑区绘制一条直线,单击【窗口】|【设计面板】|【变形】命令,打开变形面板,添入旋转角度为30度,拷贝并应用变形。按照同样方法,绘制出其他分钟的刻度。如图3.3.91所示。


图3.3.91????“表盘”的绘制
2、??在背景层中我们添加三个动态文本框,变量名称为:“weeks”,“days”和“timebox”。如图3.3.92所示。


图3.3.92?????键入三个动态文本框
3、??分别新建三个影片剪辑,命名为“时针”,“分针”,“秒针”。绘制三个指针的外形。注重指针的中心点的位置。如图3.3.93所示。


图3.3.93????指针的绘制
4、??导入一段指针移动的模拟音乐。在声音文件的连接属性中选择“为动作脚本导出”,命名为“sound”。
5、??新建一个影片剪辑,命名为“音乐”。在第1帧添加as:stop();?第2帧插入空白要害帧,添加as:
???????ss?=?new?Sound();
ss.attachSound("sound");
ss.start();
ss.onSoundComplete?=?function()?{
???????????ss.start();
};???//调用库中的声音文件sound
6、返回到场景1,把“表盘”影片剪辑拖放到舞台中,利用对齐面板使之处与舞台中心位置。
7、新建一个图层,绘制一个中心点。同样利用对齐面板使之处与中心位置。
8、新建三个图层,分别放置“时针”,“分针”,“秒针”影片剪辑。注重,影片剪辑的中心点要与步骤6绘制的中心点重合。如图3.3.94所示。


图3.3.94??指针的位置
1、??新建一个音乐层,把“音乐”影片剪辑放置在场景的任何位置。在下面的属性面板中,命名为“777”。
2、??分别选择“时针”,“分针”,“秒针”三个影片剪辑,在下面的属性面板中分别命名为“hourpoints”,“minutepoints”和“secondpoints”。
3、??好了,预备工作已经完成了。下面我们添加AS。
4、??选中“表盘”影片剪辑,添加as语句:
onClipEvent?(load)?{
????weekArray?=?new?Array(’星期日’,?’星期一’,?’星期二’,?’星期三’,?’星期四’,?’星期五’,?’星期六’);//建立一个数组,共七个元素
????timedate?=?new?Date();//建立一个新的时间对象
}
onClipEvent?(enterFrame)?{
????week?=?timedate.getDay();//返加0~6,0时取“星期日”;1时取“星期一”…….
????weekday?=?weekArray[week];//从数组中读取中文显示,参看上一句的解释
????day?=?timedate.getDate();//当前的日期,返回值为1~31
????hour?=?timedate.getHours();//当前的时,返回0~23
????minute?=?timedate.getMinutes();当前的分,返回0~59
????second?=?timedate.getSeconds();当前的秒,返回0~59
????if?(hour<10)?{
????????hour?=?"0"?+?hour;//假如时小于10,前面显示加“0”
????}
????if?(minute<10)?{
????????minute?=?"0"?+?minute;//同上
????}
????if?(second<10)?{
????????second?=?"0"?+?second;//同上
????}
????timebox?=?hour+"?:?"+minute+"?:?"+second;//显示在动态文本框中
????weeks?=?weekday;//同上一句
????days?=?day;//同上一句
????delete?timedate;//删除时间对象,目的是实时显示时间
????timedate?=?new?Date();//新建时间对象
}
5、?选择“时针”影片剪辑,添加as语句:
onClipEvent?(enterFrame)?{
????hourangle?=?_root.clock.hour*30+_root.clock.minute/2;
//把钟表符号中的时针对应的角度值赋值给变量“hourangle”
????setProperty?("_root.hourpoints",?_rotation,?hourangle);
}//设置分针的旋转角度
6、?选择“分针”影片剪辑,添加as语句:
onClipEvent?(enterFrame)?{
????minuteangle?=?_root.clock.minute*6;?
//把钟表符号中的分针对应的角度值赋值给变量“minuteangle”
????setProperty?("_root.minutepoints",?_rotation,?minuteangle);
}//设置分针的旋转角度
7、?选择“秒针”影片剪辑,添加as语句:
onClipEvent?(enterFrame)?{
????secondsangle?=?_root.clock.second*6;
//把钟表符号中的秒针对应的角度值赋值给变量“secondsangle”
????setProperty?("_root.secondpoints",?_rotation,?secondsangle);
}//设置秒针的旋转角度
16、测试,保存。请参看源文件“时钟”。

非凡说明


要实现指针式双历钟表,要把握的知识包括:FLASH的日期型函数和变量的使用,文本框的设置,时间显示的调整,数组的简单应用,以及如何实时的、动态的显示时间;最主要的是利用指针的角度与当前时间的函数关系,才能使时钟准确的指示时间。从中可以看出,假如推理不出这个函数关系,就做不成。所以我们应该多学习一下,多练练自己的逻辑思维能力

视频教程列表
文章教程搜索
 
Flash推荐教程
Flash热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058