当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > Flash as入门(20):制作时钟的实例教程

Flash动画制作
AS3.0实用代码:绘制各种各样三角形
AS代码研究实例:随即运动参数的传递应用
Flash制作3D类动画的教程
Flash AS3制作个性的旋转圆形网页导航
Flash AS2实例:跳动的小球动画效果
Flash交互动画制作技巧:按钮控制动画
Flash AS教程:详细讲解Math对象
Flash动画制作技巧:搞笑动画制作实例
Flash制作技巧:人物行走动画制作剖析
Flash AS3常用的关于MC的代码
Flash AS3.0教程:间隔循环的3种表现方式
Flash动画实例:简单的流星雨动画特效
Flash制作高级的人物行走动画
10个让你大饱眼福的创意Flash网站
Flash实例教程:吸管喝饮料动画
Flash CS4实例教程:漂亮的气泡动画
汇总网页传递参数到flex中的三种方法
AS教程:加载与被加载swf内部变量相互调用
Flash CS4教程:文字颜色缓动特效
Flash CS实例教程:幸运大抽奖动画

Flash动画制作 中的 Flash as入门(20):制作时钟的实例教程


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-04   浏览: 151 ::
收藏到网摘: n/a

本例为用Flash AS3.0制作时钟的实例教程,为Flash AS入门教程第八课的延伸教程,希望能给朋友们带来帮助。

AS3.0实例教程二-时钟的制作

效果:

虽然制作时钟老套了点,但它确可以较全面地应用到时间日期和间隔等知识,仍不失为较好的入门练习。

一. AS3.0时间日期简介

时间和日期主要应用在读取时间日期和设置时间间隔两个方面。在AS3.0中时间日期仍然是用Date类来读取,与AS2.0相比3.0要获取时间日期更加方便一些。同样的要使用Date类首先要创建该类的一个实例,比如:
var nowtime:Date = new Date();
这样就获得了一个Date的实例:nowtime
直接调用Date实例的一些属性即可获得当前日期和时间,例:
nowtime.fullYear 当前年份
nowtime.month+1 当前月,month属性的值是0-11,所以要获得当前月份应该是month+1。
nowtime.date 当前日
nowtime.day 当前星期值为0-6
nowtime.hours 当前小时
nowtime. minutes 当前分钟
nowtime. seconds 当前秒钟

在AS3.0中设置时间间隔最常用的应该是Timer类。

首先创建一个Timer类的实例:
var 实例名称:Timer = new Timer(间隔的毫秒数,[重复次数]);
比如我们要设置一个每隔1秒钟执行一次,共要执行5秒钟的时间间隔:
var jg:Timer = new Timer(1000,5);
如果没有设置重复次数参数,那么将永不停止地每隔一间隔时间执行一次。
创建Timer实例后,就用该实例侦听TIMER事件,来调用函数:
jg. addEventListener(TimerEvent.TIMER,sc);
这样每隔一秒将调用一次sc函数,一共要调用5次。
还要用一句:
jg.start();
Timer实例开始起动。
将要执行的动作定义在一个函数中,如上面的sc函数:
格式: function 函数名(event:TimerEvent):void{
要执行的动作
}

下面是一个完整的Timer类应用的代码:
var i =0;
var jg:Timer = new Timer(1000,5);
jg. addEventListener(TimerEvent.TIMER,sc);
jg.start();
function sc(event:TimerEvent):void {
i++;
trace(i);
}
将上述代码粘帖在第一帧,测试影片,每秒钟将会输出一个数字,5秒后结束运行,最终结果是:
1
2
3
4
5

二、时钟的制作:

按下图制作好钟面及指针,时针,分针,秒针均为MC,注册点在底部正中,实例名称分别为sz_mc,fz_mc,mz_mc
年月日星期共4个动态文本框,实例名称分别为:y_txt,m_txt,d_txt,w_txt

 

var dqtime:Timer = new Timer(1000);
function xssj(event:TimerEvent):void{
var sj:Date = new Date();
var nf = sj.fullYear;
var yf = sj.month+1;
var rq = sj.date;
var xq = sj.day;
var h = sj.hours;
var m = sj.minutes;
var s = sj.seconds;
var axq:Array = new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
y_txt.text = nf;
m_txt.text = yf;
d_txt.text = rq;
w_txt.text = axq[xq];
if(h>12){
h=h-12;
}
sz_mc.rotation = h*30+m/2;
fz_mc.rotation= m*6+s/10;
mz_mc.rotation = s*6;
}
dqtime.addEventListener(TimerEvent.TIMER,xssj);
dqtime.start();