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);”语句,用于安排倒计时代码每隔一秒运行一次,使得所显示的倒计时信息每隔一秒刷新一次。