执子之手 发表于 2009-1-10 09:55:39

使用Flash mx制作旋转的时钟效果 (1)

看到画面上静止的时钟,你是不是想让它动起来,那么我来教大家做一个转动的时钟。使用 mx中的时间对象制作一个转动的时钟,该时钟时、分、秒针的转动与系统的时间一致。有兴趣就跟着来做。  开始制作:时钟画面的组成元素有时、分、秒三个电影夹子[ S,F,M ],时间的刻度图形符号两个[ a、b ],时间的输出文本框一个[ text ]。  回到主场景中,在实例面板中将时、分、秒影片的名称写为:S、F、M;将时、分、秒针影片在轴点对齐,而且都指向12点。  点击文本工具在文本框属性面板中设置为[动态文本],变量名为[ text ]  有了以上的步骤,下面,我们就让时钟转动起来:  第一步:在时间线双击第一帧,在弹出的动作面板中加入以下代码:  mydate = new date ();//定义一个时间对象的实例  hour = Number(mydate.getHours());  hour = hour;//当前时间转化为12小时制  minute = Number (mydate.getMinutes());//获取当前分数  second = Number (mydate.getSeconds())-1;//获取当前秒数  h = (hour*30 minute*0.5 second*0.0833)60;//将当前时针处于初始位置的转动幅度赋予变量h  m = (minute*6 second*0.1)60;  s = (second*6)60;  setProperty ("s", _rotation, h);  setProperty ("f", _rotation, m);  setProperty ("m", _rotation, s);  angle = s;  angleh = h;  anglem = m;//将当前时、分、秒针的初始角度分别赋予三个变量  第二步:在第二帧插入关键帧,在动作面板中加入以下代码:  mydate = new date();  day = mydate.getDate();  month = mydate.getMonth() 1;  second = mydate.getSeconds();  week0 = mydate.getday();//获取当天星期( )  is (Number(week0) == 1) {  week0 = "一";}  is (Number(week0) == 2) {  week0 = "二";}  is (Number(week0) == 3) {  week0 = "三";}  is (Number(week0) == 4) {  week0 = "四";}  is (Number(week0) == 5) {  week0 = "五";}  is (Number(week0) == 6) {  week0 = "六";}  is (Number(week0) == 0) {  week0 = "日";} //以上把获取的星期数字号码转换成大写  is (day<10) {  day = "0" String(day);} //将一位数的日期号码转换成两位  is (moth<10) {  month = "0" String(month);} //系统的月份从0开始计数,故要进行转换  text = mydate.getSullYear()"." month "." day "\t星期" week0;  is (s != second) {  s = second;  angle = angle 6;   





                                                                                                   

                                        看到画面上静止的时钟,你是不是想让它动起来,那么我来教大家做一个转动的时钟。使用 mx中的时间对象制作一个转动的时钟,该时钟时、分、秒针的转动与系统的时间一致。有兴趣就跟着来做。  开始制作:时钟画面的组成元素有时、分、秒三个电影夹子[ S,F,M ],时间的刻度图形符号两个[ a、b ],时间的输出文本框一个[ text ]。  回到主场景中,在实例面板中将时、分、秒影片的名称写为:S、F、M;将时、分、秒针影片在轴点对齐,而且都指向12点。  点击文本工具在文本框属性面板中设置为[动态文本],变量名为[ text ]  有了以上的步骤,下面,我们就让时钟转动起来:  第一步:在时间线双击第一帧,在弹出的动作面板中加入以下代码:  mydate = new date ();//定义一个时间对象的实例  hour = Number(mydate.getHours());  hour = hour;//当前时间转化为12小时制  minute = Number (mydate.getMinutes());//获取当前分数  second = Number (mydate.getSeconds())-1;//获取当前秒数  h = (hour*30 minute*0.5 second*0.0833)60;//将当前时针处于初始位置的转动幅度赋予变量h  m = (minute*6 second*0.1)60;  s = (second*6)60;  setProperty ("s", _rotation, h);  setProperty ("f", _rotation, m);  setProperty ("m", _rotation, s);  angle = s;  angleh = h;  anglem = m;//将当前时、分、秒针的初始角度分别赋予三个变量  第二步:在第二帧插入关键帧,在动作面板中加入以下代码:  mydate = new date();  day = mydate.getDate();  month = mydate.getMonth() 1;  second = mydate.getSeconds();  week0 = mydate.getday();//获取当天星期( )  is (Number(week0) == 1) {  week0 = "一";}  is (Number(week0) == 2) {  week0 = "二";}  is (Number(week0) == 3) {  week0 = "三";}  is (Number(week0) == 4) {  week0 = "四";}  is (Number(week0) == 5) {  week0 = "五";}  is (Number(week0) == 6) {  week0 = "六";}  is (Number(week0) == 0) {  week0 = "日";} //以上把获取的星期数字号码转换成大写  is (day<10) {  day = "0" String(day);} //将一位数的日期号码转换成两位  is (moth<10) {  month = "0" String(month);} //系统的月份从0开始计数,故要进行转换  text = mydate.getSullYear()"." month "." day "\t星期" week0;  is (s != second) {  s = second;  angle = angle 6;   





                                                                                                   

                                      setProperty ("m", _rotation, angle);//设置秒针的当前位置;每一秒秒针的转动角度为6(360度/60秒)度  anglem = anglem 0.1;  setProperty ("f", _rotation, anglem);  angleh = angleh 0.0083;  setProperty ("s", _rotation, angleh);  }  第三步:在第三帧插入关键帧,并在动作面板中加入以下代码:  gotoAndPlay (2);  一个转动的时钟就做好了,来看一下你做的时钟是不是酷极了!      





页: [1]
查看完整版本: 使用Flash mx制作旋转的时钟效果 (1)