快速业务通道

Flash高级实例:精美时钟的制作(下)

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-15

 第二步:编辑脚本

  1.点击clock打开Actions面板.输入:

onClipEvent (load) {
weekArray = new Array(''星期日'', ''星期一'', ''星期二'', ''星期三'', ''星期四'', ''星期五'', ''星期六'');
monthArray = new Array(''1月'', ''2月'', ''3月'', ''4月'', ''5月'', ''6月'', ''7月'', ''8月'', ''9月'', ''10月'', ''11月'', ''12月'');
timedate = new Date();
soundobject = new Sound();
ling = 0;
zheng = 0;
}


  onClipEvent(load)表示当电影剪辑载入时触发动作.
  new Array表示创建新的数组且按顺序排列.
  weekArray = new Array表示将new Array数组的内容赋给weekArray.由于系统的时间都是用数字存储和输出,所以我们就来个对号入座.当现在是星期日的话,那么系统的值是0,其他的以此类推.这时系统的0就会被这条命令对号入座而反馈为星期日.下一句也类同.

  timedate = new Date()表示把新的系统时间存储在timedate中,这样一来我们就可以用变量timedate来调用系统的时间.
  soundobject = new Sound();表示声音型变量.

  ling = 0;
  zheng = 0;表示声明标志变量,以便下面使用.


  2.输入以下命令:

onClipEvent (enterFrame) {
week = timedate.getDay();
weekday = weekArray[week];
year = timedate.getFullYear();
monthnum = timedate.getMonth();
month = monthArray[monthnum];
day = timedate.getDate();
hour = timedate.getHours();
minute = timedate.getMinutes();
second = timedate.getSeconds();
_root.xingqi = weekday;
_root.rq = year+"年"+month+day+"日";
delete timedate;
timedate = new Date();

  onClipEvent (enterFrame)表示在这条命令的范围内的命令不断循环,哪怕整个电影只有一帧.

  week = timedate.getDay();
  year = timedate.getFullYear();
  monthnum = timedate.getMonth();
  day = timedate.getDate();
  hour = timedate.getHours();
  minute = timedate.getMinutes();
  second = timedate.getSeconds();这些语句都是把系统的年、月、日等时间取出并存放在不同的变量中.

  weekday = weekArray[week];
  month = monthArray[monthnum];这两句表示把系统的星期和月用我们事先设置的数组中的字符串来表示,并储存在weekday和month两个变量中.

  _root.xingqi = weekday;
  _root.rq = year+"年"+month+day+"日";表示用名为xingqi和rq的两个文本域分别显示两个时间     .year+"年"+month+day+"日"表示字符串和数字的相加.

  delete timedate;
  timedate = new Date();表示刷新系统时间,如果没有这两句,时钟的时间就不会时时改变,而只会显示   clock载入时的时间.


  3.接下来输入:

if (minute==0 && zheng==0) {
soundobject.attachSound("zheng");
soundobject.start( );
zheng = 1;
} else if (minute<>0) {
zheng = 0;
}
if (_root.d2==minute && _root.d1==hour && ling==0) {
soundobject.attachSound("ding");
soundobject.start( );
ling = 1;
} else if (hour<>_root.d1 or minute<>_root.d2) {
ling = 0;
}
}


  (minute==0 && zheng==0)和(_root.d2==minute && _root.d1==hour && ling==0)等都表示执行的条件.

  soundobject.attachSound("zheng");表示邦定名为zheng的声音(下同).
  soundobject.start( );表示播放邦定的声音(下同).

  这两大段的语句的用意就在于当整点时播放zheng的声音一遍,当时与分的值都等于d1和d2的两个变量的值时播放ding的声音一遍来闹铃.设置zheng和ling的变量是为了控制声音的播放次数为一次.

  4.点击zhizhen1,输入:

onClipEvent (enterFrame) {
miao = _root.clock.second*6;
setProperty

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号