首页 > 范文大全 > 正文

FLASH中Date类案例分析与研究

开篇:润墨网以专业的文秘视角,为您筛选了一篇FLASH中Date类案例分析与研究范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:该文通过分析两个flash案例说明如何利用ActionScript 2.0的date类获取相对于通用时间(格林尼治平均时,也叫UTC)或相对于运行Flash播放器的操作系统的日期和时间值。实现案例操作的基本原理都是通过从系统中获取新的日期和时间值创建一个Date对象实例。

关键词: FLASH;Date类;案例分析

中图分类号:TP37 文献标识码:A 文章编号:1009-3044(2009)15-4015-02

FLASH Date Class in the Case Studies and Research

QING Qiao

(Sichuan Posts and Telecommunications Professional Technology Institute, Computer Department, Chengdu 610067, China)

Abstract: By analyzing the cases of both Flash how to use ActionScript 2.0 Description of the Date Class to obtain in relation to Universal Time (Greenwich mean time, also known as UTC), or compared with the Flash Player to run the operating system date and time value. Case implementation of the basic principles of operation are from the system through access to the new date and time values to create a Date object instance.

Key words: flash; date class; case studies

1 引言

FLASH 的动作脚本从5.0开始应用了面向类的编程概念,这使得其脚本语言功能变得更加强大。Flash中内置的Date类函数提供了获取或修改日期及时间的功能。(注:获取的时间是本地电脑的系统时间和日期)下面列出一些基本命令及解释。

2 日期时间的基本命令及解释

Date类的应用方法里有很多的类函数,它们的主要功能见表1 。

要使用上面的命令,必须先用Date 对象的构造函数创建一个 Date 对象的变量,然后用创建的这个实例变量来进行操作,其命令格式如下:

实例变量名=new Date();

3 构造日期型实例的具体方法

如果未给定参数,则Date()构造函数将按照您所在时区的本地时间返回包含当前日期和时间的 Date 对象。下面是一个示例:

var mydate:Date = new Date();

//实际上mydate中就是当前的日期和时间了

可以将多个数值参数传递给 Date() 构造函数。该构造函数将这些参数分别视为年、月、日、小时、分钟、秒和毫秒,并将返回一个对应的 Date 对象。假定这些输入参数采用的是本地时间而不是 UTC。以下语句获取一个设置为 2008年 8 月 8 日20点0分0秒0毫秒(本地时间)的 Date 对象:

var mydate:Date = new Date(2008, 7, 8, 20, 0, 0, 0);//那么mydate就表示2008年8月8日20点

注:单位实际上是毫秒

4 日期类的经典案例

4.1 案例一:走动的时钟

4.1.1 案例分析

在Flash里绘制钟表盘,时针、分针和秒针,通过定义Date类实例对象来获得当前时间的小时数、分钟数和秒数,再计算时针、分针和秒针在当前时间对应旋转的角度,产生和走动的时钟一样的效果。

4.1.2 案例制作流程

1) 先画表盘,定义为MC;

2) 创建3个MC,分别画时针、分针和秒针;

3) 新建MC,命名为time,将MC时针、分针和秒针拖入,重合在一起,但分别为他们的实例命名为:shizhen、fenzhen和miaozhen;

4) 在舞台上建两层,层1背景,拖入表盘,层2,拖入MC time;

5) 在舞台上新建AS层,为其首帧编写代码:

_root.time.onEnterFrame=function(){

mydate = new Date();

_root.time.shizhen._rotation= mydate.getHours()*30+mydate.getMinutes()*0.5;

_root.time.fenzhen._rotation= mydate.getMinutes()*6;

_root.time.miaozhen._rotation= mydate.getSeconds()*6;

}

4.2 案例二:在文本框中显示当前日期和星期

4.2.1 案例分析

在上例的基础上,显示当前的日期和星期。可利用上例定义的Date类变量mydate取得当前系统时间和星期数,显示在舞台上的动态文本框中。取得当前年、月、日的语句分别为mydate. getFullYear()、mydate.getMonth()和mydate.getDate(),其中getMonth()是根据本机时间获得当前月份,0表示1月,所以在编程时应注意,mydate.getMonth()=7是表示8月;取得本机星期数的语句为mydate.getDay(),其中0表示周日,1表示周一,其余以此类推。

4.2.2 案例制作流程

1) 在上例中新建层,画动态文本框2个,分别命名为date_t和weeki

2) 在AS层中的第1帧处改变代码如下:

_root.time.onEnterFrame=function(){

mydate = new Date();

_root.time.shizhen._rotation= mydate.getHours()*30+mydate.getMinutes()*0.5;

_root.time.fenzhen._rotation= mydate.getMinutes()*6;

_root.time.miaozhen._rotation= mydate.getSeconds()*6;

_root.year=mydate.getFullYear();//年

_root.month=mydate.getMonth()+1;//0代表1月

_root.day=mydate.getDate();//日

_root.date_t=_root.year+"年"+_root.month+"月"+_root.day+"日"//年+月+日

Week_d = new Array('日', '一', '二', '三', '四', '五', '六'); // 转换为中文星期显示

week = mydate.getDay();//星期

_root.weeki = "星期"+week_d[week];

}

5 小结

通过上述案例的分析可以看出Date对象可获取相对于通用时间(格林尼治平均时,也叫UTC)或相对于运行Flash播放器的操作系统的日期和时间值。实现案例操作的基本原理都是通过从系统中获取新的日期和时间值创建一个Date对象实例。

参考文献:

[1] 沈大林.中文Flash 8案例教程[M].北京:中国铁道出版社,2007.

[2] DDC传媒.Flash Professional 8 标准培训教材[M].北京:人民邮电出版社,2007.

[3] 张震.Flash8 动画网页制作与实例教程[M].北京:冶金工业出版社,2006.