Flash AS2入门教程第八课:日期与时间

2016-01-29 12:20 2 1 收藏

Flash AS2入门教程第八课:日期与时间,本例继续讲解AS的基础知识,今天我们来学习Flash AS入门系列教程第八课:日期与时间,教程详细讲解了在AS中日期和时间的使用,对Flash的AS编程有兴趣的朋友可以到论坛与作者交流~~

【 tulaoshi.com - Flash 】

本文由中国 sanbos 原创,转载请保留此信息!  

本系列Flash教程由中国Flash互助课堂专为Flash新手制作,更多教程和练习请点击这里,在这里有系列的教程、练习,并有老师对练习进行点评与指导,欢迎朋友们的光临!

上一节:Flash AS入门教程第七课:影片剪辑第12节使用颜色

更多Flash AS教程:http://www.jcwcn.com/portal-topic-topicid-1.html

日期与时间

Date类提供了对日期和时间的操作方法,在这一节中还将介绍另一个类Timer,它提供了对时间间隔的操作。

要使用Date类首先要创建一个Date类实例:
var now:Date = new Date();

创建了Date实例后,就可以调用Date的方法,来获取当前时间。
getDate()方法:将返回当前的号数,返回值是1-31之间。
getDay()方法:返回当前是星期几,0-6,0代表星期日。
getFullYear()方法:返回当前年份,4位数。
getHours()方法:返回当前是几点,0-23。
getMinutes()方法:返回当前是分钟数,0-59。
getMonth()方法:返回前的月份数,0-11。请注意这里是0-11,即0代表1月。那么当前的月份应该是: getMonth() +1.
getSeconds()方法:返回当前的秒数,0-59。
getTime()方法:返回当前时间自通用时间1970年1月1日午夜以来的毫秒数。这个方法常被用来比较两个日期间的距离。比如倒计时牌。

Date类还有很多方法,将上面的方法中的get换为set即把某个时间设置给一个Date对象。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/flash/)

有了上面的方法后,就可以来做一个练习了,首先来做一个显示当前日期的练习:

这个练习由两个部分组成:一个是一个电子钟,一个是显示当前时间的文本牌。

1. 首先是做背景,这个按你个人喜好。
2. 做表盘,新建一MC,画一个正园,将正园居中对齐。用直线工具在12点位置画一条很短的直线(分钟线),用变形工具将直线的注册点调到十字处。打开变形成面板,在旋转处输入6,然后点下面的旋转并复制按钮,复制59分,这样分钟线就画好了。然后用选择工具将时钟线拉长一些,将12点,3点,6点,9点标出来。这样表盘就做好了。
3. 做表针,建三个MC分别画时针,分针和秒针,每个针均指向12点,针的下端与十字对齐,水来居中。
4. 回到主场景,新建一层,将表盘拖到舞台上放好。
5. 新建一层,将秒针,分针,时针拖入,将针底端与表盘中心对齐。画一个画色的小园(按对象绘绘制)放要针的尾部,再在黄色的园上放一个放射填充的园。
6. 打开属性面板,为表针指定实例名:时针-sz_mc,分针:fz_mc,秒针:mz_mc.
7. 按上面效果,在舞台下半部放7个动态文本框,实例名称分别为:年:y_txt,月:m_txt,日:d_txt,星期:w_txt,时:h_txt,分:min_txt,秒:s_txt.
8.新建一层,命名为:action,打开帧动作面板,输入:

var xq:Array = new Array("日","一","二","三","四","五","六");
function nowtime(){
var now:Date = new Date();
year = now.getFullYear();
mon = now.getMonth();
day = now.getDate();
week =now.getDay();
hour = now.getHours();
minu = now.getMinutes();
second = now.getSeconds();
y_txt.text = year;
m_txt.text = mon+1;
d_txt.text = day;
w_txt.text=xq[week];
h_txt.text=hour;
min_txt.text= minu;
s_txt.text = second;
if(hour12){
hour=hour-12;
}
sz_mc._rotation = hour*30+minu/2;
fz_mc._rotation= minu*6+second/10;
mz_mc._rotation = second*6;
}
var nowtimeid = setInterval(nowtime,1000);
sdnr_mc.setMask(zz_mc);

[next]

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/flash/)

下面做第二个练习:倒计时牌

倒计时牌需要4个动态文本,实例名称为:天:tan_txt,小时:xs_txt,分钟:fz_txt,秒钟:mz_txt

代码:

function djs(){
var now:Date = new Date();
var yd:Date = new Date(2009,0,1);
var nows = now.getTime();
var yds = yd.getTime();
var sc = yds - nows;
var tan = Math.floor(sc/(1000*60*60*24));
var tys = sc%(1000*60*60*24);
var xs = Math.floor (tys/(1000*60*60));
var sys = tys%(1000*60*60);
var fz = Math.floor(sys/(1000*60));
var fys = sys%(1000*60);
var mz = Math.floor(fys/1000);
tan_txt.text = tan;
xs_txt.text = xs;
fz_txt.text=fz;
mz_txt.text =mz;
}
var djsid = setInterval(djs,1000);

在上面两个练习中,都用到了setInterval()函数,这是本节要介绍的第二部分内容。
setInterval():函数
该函数可实现每隔多少毫秒调用一次某函数。
用法: var 一个变量名称 = setInterval(要调用的函数名称,间隔的毫秒数);
例: var i = 0;
function dy(){
i++;
trace(i);
}
var dyid = setInterval(dy,1000);
测试影片,每隔1秒钟,将输出1次,从1开始,每次输出增加1。
如果我们要停止setInterval()函数,不让它再调用函数,可用:clearInterval()函数。
用法:clearInterval(存储有setInterval函数的变量名称)
例将上例的代码改为:
var i = 0;
function dy(){
i++;
trace(i);
if (i10){
clearInterval(dyid);
}
var dyid = setInterval(dy,1000);
测试影片,当输出10次后,不再继续输出了。
还有另一个函数:
setTimeout()函数:
这个函数是在隔多少毫秒后,调用某函数。与setInterval函数不同的是它只调用一次,然后自动删除,而不是反复调用。用法与setInterval函数一样。
例:将代码改为:
var i = 0;
function dy(){
i++;
trace(i);
}
var dyid = setTimeout (dy,1000);
测试影片,在1秒后将输出1,然后不再输出了。
如果要阻止setTimeout调用函数可用:
clearTimeout()
用法clearTimeout(存储有setTimeout函数的变量);
例:clearTimeout(dyid);

本节内容综合实例参见这个教程:http://www.jcwcn.com/article/2007/1101/flash_29888.html

对本文感兴趣的朋友可以到这里提交作业,老师会为作业点评、加分:http://bbs.jcwcn.com/viewthread.php?tid=219684

来源:https://www.tulaoshi.com/n/20160129/1485650.html

延伸阅读
标签: flash教程
本文由 中国 sanbos 原创,转载请保留此信息!    本系列Flash教程由中国Flash互助课堂专为Flash新手制作,更多教程和练习请 点击这里 ,在这里有系列的教程、练习,并有老师对练习进行点评与指导,欢迎朋友们的光临! 上一课: Flash新手入门教程:AS入门第二课_面向对象编程基础   在第一课中我们己经介绍过,Ac...
标签: flash教程
本文由 中国 sanbos 原创,转载请保留此信息!   本系列Flash教程由中国Flash互助课堂专为Flash新手制作,更多教程和练习请 点击这里 ,在这里有系列的教程、练习,并有老师对练习进行点评与指导,欢迎朋友们的光临! 不要被这个题目吓倒.AS的确是一种程序语言,我们编写AS代码就叫做编程.我们学习AS首先应该克服对编程的恐惧,...
标签: flash教程
本文由 中国 sanbos 原创,转载请保留此信息!    本系列Flash教程由中国Flash互助课堂专为Flash新手制作,更多教程和练习请 点击这里 ,在这里有系列的教程、练习,并有老师对练习进行点评与指导,欢迎朋友们的光临! 上一课: Flash AS入门教程第六课:文本与字符第二节文本属性   文本框的事件 onChanged事件...
标签: flash教程
本系列Flash教程由中国Flash互助课堂专为Flash新手制作,更多教程和练习请 点击这里 ,在这里有系列的教程、练习,并有老师对练习进行点评与指导,欢迎朋友们的光临!   上一节: Flash AS入门教程第七课:影片剪辑第6节使用遮罩   更多Flash AS教程: http://www.jcwcn.com/portal-topic-topicid-1.html AS入门教程第...
标签: flash教程
本文由 中国 sanbos 原创,转载请保留此信息!  在学习中遇到问题请到 论坛  发贴交流!  本系列Flash教程由中国Flash互助课堂专为Flash新手制作,更多教程和练习请 点击这里 ,在这里有系列的教程、练习,并有老师对练习进行点评与指导,欢迎朋友们的光临!  更多Flash AS教程:http://www.jcwcn.com/article/20...

经验教程

226

收藏

95
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部