您好!欢迎您光临as制作倒计时的原理与方法_迎客松B站!

体育

I

交友

I

论坛

I

会员注册

I

本站搜索

I

收藏本站

当前位置:首页 >>>实例教程>>>as制作倒计时的原理与方法
as制作倒计时的原理与方法
发表日期:2012/9/18 23:48:00 出处:迎客松 作者:翠柏 发布人:hsb345 已被访问 3791

 

 

as制作倒计时的原理与方法

 

   

    教学目的:通过本节教学了解和掌握动态文本的输入、设置和as语句的添加使用,进而运用这些原理制作倒计时的动画效果。

  教学对象:本教材是针对有一定动画制作基础和对工具箱、动作面板及as语句有所了解的朋友们编制的,因此省略了一些步骤,还望谅解。

    教学要点:动态文本、实例名称变量、动作面板、脚本添加。

 

 

     作前准备:准备一张规格为550*400背景图片,经过制图软件(ps、fw)处理后保存到指定的文件夹待用。   

   制作步骤

    1.启动FLASH8 软件

    2.确立文档属性 设置动画尺寸为550*400,背景颜色黑色,其它默认,点击确定,进入场景1。 如图1所示:

图1

    3.编辑制作场景 添加三个图层,共四个图层。自下而上分别命名为背景,边框,文本,as。

    (1)选择边框图层第一帧,用矩形工具在舞台拖一个红色的,规格为550*50,无边线的矩形,上对齐,水平中齐。右键该实例将其转换为图形元件。从库中拖出矩形图形元件到舞台,下对齐,水平中齐。上锁。如图2,图3所示:

图2

图3

    (2)选择文本图层第一帧,用文本工具,选定动态文本,填写实例名称为:shuchu  变量为:outtime1 ,其它参数,如图4所示:

图4

在上边框上拖一个动态文本框,规格约512*35,水平居中。如图5所示:

图5

再用文本工具,选定动态文本,填写实例名称为:shuchu  变量为:outtime2
其它参数,如图6所示:


图6

在下边框上拖一个动态文本框,规格约505*32,水平居中。锁定该图层。如图7所示:

图7

    (3)选择背景图层第一帧,导入已准备好的背景图片到舞台,规格为550*400,全居中。上锁。如图8所示:


图8

    (4)选择as图层第一帧,按f9,打开动作面板,在as编辑区输入,如下语句:

function aoyuntimelist() {
 nowdate = new Date();
 
 year = nowdate.getFullYear();
 
 month = nowdate.getMonth()+1;
 
 date = nowdate.getDate();
 
 day = nowdate.getDay();
 
 hour = nowdate.getHours();
 
 minute = nowdate.getMinutes();
 
 second = nowdate.getSeconds();
 
 enddate = new Date(2009, 1, 14, 0, 0, 0);
 
 shijiancha = (enddate.getTime()-nowdate.getTime())/1000;
 
 if (shijiancha>=0) {
  
  shengyutian = Math.floor(shijiancha/(3600*24));
  
  shengyuxiaoshi = Math.floor((shijiancha-shengyutian*24*3600)/3600);
  shengyufen = Math.floor((shijiancha-shengyutian*24*3600-shengyuxiaoshi*3600)/60);
  shengyumiao = Math.floor(shijiancha-shengyutian*24*3600-shengyuxiaoshi*3600-shengyufen*60);
  if (month<10) {
   month = "0"+month;
  }
  if (date<10) {
   date = "0"+date;
  }
  if (hour<10) {
   hour = "0"+hour;
  }
  if (minute<10) {
   minute = "0"+minute;
  }
  if (second<10) {
   second = "0"+second;
  }
  if (shengyutian<10) {
   shengyutian = "0"+shengyutian;
  }
  if (shengyuxiaoshi<10) {
   shengyuxiaoshi = "0"+shengyuxiaoshi;
  }
  if (shengyufen<10) {
   shengyufen = "0"+shengyufen;
  }
  if (shengyumiao<10) {
   shengyumiao = "0"+shengyumiao;
  }
  outtime1 = "2009年情人节距今天还有"+String(shengyutian)+"天"+String(shengyuxiaoshi)+"时"+String(shengyufen)+"分"+String(shengyumiao)+"秒";
  outtime2 = "今天是"+year+"年"+month+"月"+date+"日"+"星期"+day+"现在时刻"+hour+":"+minute+":"+second;
 } else {
  if (month<10) {
   month = "0"+month;
  }
  if (date<10) {
   date = "0"+date;
  }
  if (hour<10) {
   hour = "0"+hour;
  }
  if (minute<10) {
   minute = "0"+minute;
  }
  if (second<10) {
   second = "0"+second;
  }
  if (shengyutian<10) {
   shengyutian = "0"+shengyutian;
  }
  if (shengyuxiaoshi<10) {
   shengyuxiaoshi = "0"+shengyuxiaoshi;
  }
  if (shengyufen<10) {
   shengyufen = "0"+shengyufen;
  }
  if (shengyumiao<10) {
   shengyumiao = "0"+shengyumiao;
  }
  outtime1 = "倒计时已经结束!祝天下有情人终成眷属!";
  outtime2 = "今天是"+year+"年"+month+"月"+date+"日"+"星期"+day+"现在时刻"+hour+":"+minute+":"+second;
 }
}
setInterval(aoyuntimelist, 1000);
mysound = new Sound();

mysound.attachSound(id="music");

mysound.start(0, 20);

    锁定该图层。
 

    4.本作业完成后时间轴显示如图9所示:


图9
 

  5.测试存盘

    *说明: 

    1.在设定倒计时事件时,月份要按实际月份减一,其它年、日、时、分、秒和实际相同。比如,本实例中2009年情人节是2月14日,那么脚本中应该是:enddate = new Date(2009, 1, 14, 0, 0, 0);

    2.本实例脚本中的汉字部分也因该按倒计时事件加以调整说明。

    3.你在创作中可以添加外边框,音乐和相关特效。使你的动画更具感染力与观赏力。

  最终效果显示:


http://hsb345.16789.net/domName/hsb345/200912411272759167.swf

 

 


全屏下载

 

祝你成功!

 

进入更多教程

双击自动滚屏 【打印本页】 【关闭窗口
 相关评论:



a
(2013/4/8 23:52:00) [27.41.225.]

很好,成功了


55
(2011/1/3 0:04:00) [27.37.2.]

 测试的时候什么也没有?


hsb345
(2009/8/26 9:10:00)

雨劫朋友你好,脚本没有错误,许多网友都做过的,你可能还是哪个环节上有误。


雨劫
(2009/8/26 0:31:00) [123.8.85.]

老师 这个AS我是按照你的复制上去的怎么就不能用啊 测试的时候什么也没有

 发表评论:共有 4 条评论

身份选择:会员 游客(游客不需要输入密码)
用 户 名: 密 码:
评论内容:
(最多评论字数:500)

迎客松B站 | 设为首页 | 加入收藏 | 联系我们 | 进入管理 | 关于站长 | 本站搜索

联系电话: 联系人:翠柏

琼icp备09005167