免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
Board logo

标题: [AS2系列教程[图文]] 第二十三课:日期与时间 [打印本页]

作者: 网雨霏霏    时间: 2018-5-24 11:23     标题: 第二十三课:日期与时间

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对象。


作者: 网雨霏霏    时间: 2018-5-24 11:23

有了上面的方法后,就可以来做一个练习了,首先来做一个显示当前日期的练习。这个练习由两个部分组成:一个是一个电子钟,一个是显示当前时间的文本牌。


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,打开帧动作面板,输入:

本帖隐藏的内容需要回复才可以浏览


作者: 网雨霏霏    时间: 2018-5-24 11:23

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


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

代码:

本帖隐藏的内容需要回复才可以浏览


作者: 网雨霏霏    时间: 2018-5-24 11:23

在上面两个练习中,都用到了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函数的变量名称)
例将上例的代码改为:
本帖隐藏的内容需要回复才可以浏览

测试影片,当输出10次后,不再继续输出了。


还有另一个函数:

setTimeout()函数:
这个函数是在隔多少毫秒后,调用某函数。与setInterval函数不同的是它只调用一次,然后自动删除,而不是反复调用。用法与setInterval函数一样。
例:将代码改为:
本帖隐藏的内容需要回复才可以浏览

测试影片,在1秒后将输出1,然后不再输出了。


如果要阻止setTimeout调用函数可用:

clearTimeout()
用法clearTimeout(存储有setTimeout函数的变量);
例:clearTimeout(dyid);
作者: 测试    时间: 2018-6-3 06:23

他[她]看完这篇文章说:

(来自快速回帖模式)




欢迎光临 flash之路-flash技术交流 (http://flashroad.dhlog.com/) Powered by Discuz! 7.2