【#文档大全网# 导语】以下是®文档大全网的小编为您整理的《flash 中考倒计时》,欢迎阅读!
今天闲来无事,与大家一起分享一下倒计时的做法。
在之前有人要做各种倒计时,其中有一个就是中考倒计时,那么今天就分享给大家,看看这个到底用了哪些方法。
如上图 是倒计时的外观。显示剩余时间 ,也就是现在距离2012年6月27日还剩的日子。 其实这个思想的来源很简单,就是把正常时间倒过来计算就OK了。
1.根据你自己的要求设计一下倒计时的外观,添加所需要的内容;在这画面上,看到了很多数字,那么那些数字是要注意的呢?现在为大家解读一下
我们需要注意的是, 天数,小时,分钟,还有就是秒,其他的外观完全由你们自己设计了 2,如何呈现数字呢
首先在场景中,添加四个动态文本,分别命名为days ,hours,minutes,seconds,代表上图的天,小时,分,秒
3接下来就是核心工程了,在时间轴上第一帧添入如下代码
//生命所需要的各个变量
var my_date2:Date = new Date();//构造Date函数,声明一个变量 my_date2
var my_date1:Date = new Date(2012, 5, 27, 0, 0);//同上,这里的参数,分别代表,未来的某一天,这里也就是2012年6月27日。 var day1 = my_date1.getDate();//某一天 var hour1 = my_date1.getHours();//小时 var minute1 = my_date1.getMinutes();//分钟 var second1 = my_date1.getSeconds();//秒 var month1 = my_date1.getMonth();//月份 var day2 = my_date2.getDate(); var hour2 = my_date2.getHours(); var minute2 = my_date2.getMinutes(); var second2 = my_date2.getSeconds(); var month2 = my_date2.getMonth();
//
//返回指定的 Date 对象自 1970 年 1 月 1 日午夜(通用时间)以来的毫秒数。当比较两个或更多个 Date 对象时,使用此方法表示某一特定时刻
var temp1 = my_date1.getTime(); var temp2 = my_date2.getTime(); var temp3 = hour2; var temp4 = minute2; var temp5 = second2;
//两个相对的时间相减的得到两段时间的毫秒数,为什么是相对时间,而不是绝对时间呢,其实道理很简单,
//在物理学上,我们会学到相对路程,相对物体,也就是一个参照物。 var totalTemp = temp1-temp2; //定义一个showTime函数 function showTime() {
//在天数文本中显示剩余 的总时间。Math.round()方法是计算括号内的值,取最接近的整数
days.text = Math.round(totalTemp/1000/60/60/24); var t1=24-temp3;//计算当天的剩余小时 var t2=60-temp4;//计算当天的剩余分钟
var t3=60-temp5;//计算当天的剩余秒数
if (length(t1) == 1) {//如果小时数字是一位数的话,如 1,2,3,下同
hours.text ="0"+t1.toString();//在小时文本中输出 两位数 如01, 02,03,下同 } else {
hours.text = t1;
}
if (length(t2) == 1) {
minutes.text ="0"+t2.toString(); } else {
minutes.text = t2; }
if (length(t3) == 1) {
seconds.text = "0"+t3.toString(); } else {
seconds.text =t3; }
}
//调用showTime 函数 showTime();
运行一下,看看能不能出现如上图一样的效果呢!?
是不是发现了有点不对劲呢?为什么数字不会变换呢?
原因就在这里,在我们flash中 有控制时间的方法,如 Timer 这个方法, var time:Timer=new Timer(参数,参数);
在这中第一个参数是毫秒数 1000毫秒=1秒,第二个参数是具体的 循环次数
但在这里我们不用这个,仅仅在时间轴上做一些修改就OK了
在场景中,右键鼠标,在文档属性中 把帧频率改为 24fps ,也就说 每24帧是一秒钟。当然这个数字你一可以改成其他的。
既然为24帧,那么在时间轴上,我们在第24帧的时候添加一个关键帧,在帧上写入 gotoAndPlay(1);
意思是说,当运行到第24帧的时候,又会跳到第一帧执行第一帧的代码,也就是调用 showTime 这个函数。这样一来,就每个一秒调用一次函数。这就是每秒刷新文本显示的时间了。
本文来源:https://www.wddqxz.cn/b88d43ee172ded630b1cb655.html