日期:2014-5-4 浏览次数:21476次

2005年11月11日,将于2008年8月8日晚8时在北京开幕的第二十九届奥运会在筹办过程中迎来了倒计时1000天的重要历史时刻,北京奥组委和社会各界举办了奥运会吉祥物发布暨倒计时1000天活动,迎接了这个特殊日子。这提醒着我们,2008北京奥运会开幕的时刻正朝我们快步地走来。为了记住这一时刻,特意用Flash实现了北京奥运的倒计时。具体步骤如下:

 

    1.启动Flash,新建元件,命名为“倒计时”,行为中选择“影片剪辑”,确定后进入元件编辑窗口。

    2.点击文本工具,在属性中选择“静态文本”,划出一个文本框,设置好文本框的参数,输入内容“现在离2008北京奥运开幕还有”。

    3.点击文本工具,在属性中选择“动态文本”,划出一个文本框,设置好文本框的参数,变量设置为“DaoJiShiText”。

    4.命名所在层为“倒计时”,在时间轴的第一帧上输入以下代码:

EndTime=new Date(2008,7,8,20,0,0);
//定义倒计时结束时间,此处为2008北京奥运开幕日
//注意,月份参数用0-11表示1-12月
NowTime=new Date();
//定义当前时间
zong=Math.floor((EndTime.getTime()-NowTime.getTime())/1000);
//取得当前时间与结束时间相差的总秒数
if(zong>0)
{
  tian=Math.floor(zong/(60*60*24));
  //取得剩余天数
  zong=zong-tian*60*60*24;
  shi=Math.floor(zong/(60*60));
  //取得剩余小时数
  zong=zong-shi*60*60;
  fen=Math.floor(zong/60);
  //取得剩余分钟数
  zong=zong-fen*60;
  miao=zong;
  //取得剩余秒数
  DaoJiShiText=String(tian)+"天"+String(shi)+"时"+String(fen)+"分"+String(miao)+"秒";
}

    5.在时间轴的第12帧处插入关键帧,输入语句“gotoAndPlay(1);”。

    6.返回主场景,把倒计时影片剪辑拖放至主场景中,测试运行,效果如图所示。

 
图1 播放效果图

    说明:以上代码以北京2008奥运会开幕为倒计时结束时间,首先计算出当前时间与结束时间相隔的总秒数,再分别转换成对应的天数、小时数、分钟数和秒数。由于Flash默认的帧频是12,代码中在第12帧处使用了“gotoAndPlay(1);”语句,用于安排倒计时代码每隔一秒运行一次,使得所显示的倒计时信息每隔一秒刷新一次。