当前位置:首页>网络学院>网页制作>Flash教程>文章内容

Flash AS制作个性月历教程

[ 来源:http://www.it55.com | 作者: | 时间:2007-11-06 | 收藏 | 推荐 ] 【


       year_txt.text = year;//在舞台上显示当前年号
       mon_txt.text = mon + 1//在舞台上显示当前月份,因为getMonth()返回的是0~11,0代表1月,依次,所以当前月份应该是mon+1.
    年、月、时、分、秒都已经显示出来了,接下来我们来显示日,要显示日,有点麻烦,上面那些内容在舞台中只显示一个,而日要显示30个左右,而且每个月天数还不一样。所以我们首先要确定,当前月的天数,我们将一年中每月的天数放到一个数组中,然后根据当前月份去找相应的数组元素就行了。
        var days:Array = [31,28,31,30,31,30,31,31,30,31,30,31];
    现在问题又出来了,如果是润年,2月是29天,而不是28天,所以又必须判断当前年,是不是润年,润年是能被4整除并且不能被100整除或者能被400整除的年份,所以下面这样写:
if (year%4 == 0 && year% 100 <> 0 || year@0 == 0) {

days.splice(1,1, 29);//将数组中第二个原素28用29替换。


}
var mondays = days[ mon ];//获得当前月的天数。
var oneday:Date = new Date(year,mon,1);//创建一个本月1号的Date对象:oneday
var weekday = oneday.getDay ();//创建一个本月1号为星期几的变量weekday, getDay()返回的是0~6的数字,0代表星期天,其它为相应的星期。
差不多了,我们可以显示号数了:
function showday () {

var i;

var j = weekday;

for ( i =1;i <= mondays;i++) {//从1号到当前月的天数循环。

this["d" +j].text = i;//依次显示号数

j += 1;

}

var today = (day + weekday) -1;// 获得今天的位置,即今天的号数加上1号的星期数,因为显示号的文本框从d0开始,所以要减1.



this["d" + today].textColor
= 0xFF0000;//将今天的日期显示为红色。

}

showday();


    好了,应该差不多了,测试看看,那么现在一个当月的月历已显示出来了,而且今天的号数还以红色高亮显示。是不是还可以做点啥呢?对了,我们可以把节日,或你及亲朋的生日,或是你觉得的重要日子提示并高亮显示。很不幸的是,因为农历公历对照的月历制作太过麻烦,本文并不涉及农历,所以中国人民的很多传统节日就无法高亮显示了。  

下面的代码将对一些节日进行提示并高亮显示:
var jrname;

var jrday;

function showjrday ( ) {

 

 

this["d"+jrday].autoSize = TextFieldAutoSize.LEFT;//设置显示节日的文本框大小可调。

this["d"+jrday].multiline = true;// 设置显示节日的文本框为多行。


this["d"+jrday].wordWrap = true;// 设置显示节日的文本框可自动换行。


this["d"+jrday].text = jrname; //将节日名称赋给显示节日的文本框。

this["d"+jrday].textColor = 0xFF0000;//节日设为红色。

 

}
下面的代码,根据不同的节日,高亮显示,你可以按下面的格式,将自己的重要日子加进去。

switch (mon) {

case 0:


jrname = "1元旦"


jrday = (1 + weekday) -1;


showjrday();

break;

case 1:

jrname = "14情人节";

jrday = (14 + weekday) -1;

showjrday();

break;

case 2:

jrname = "8国际妇女节";

jrday = (8 + weekday) -1;

showjrday();

break;

case 3:  

jrname = "5清明节";

jrday = (5 + weekday) -1;

showjrday();

break;

case 4:

jrname = "1国际劳动节";

jrday = (1 + weekday) -1;

showjrday();

jrname = "4青年节";

jrday = (4 + weekday) -1;

showjrday()

break;

case 5:

jrname = "1国际儿童节";

jrday = (1 + weekday) -1;

showjrday();

break;

case 6:

jrname = "1建党节";

jrday = (1 + weekday) -1;

showjrday();

break;

case 7:

jrname = "1建军节";

jrday = (1 + weekday) -1;

showjrday();

break;

case 9:

jrname = "1国庆节";

jrday = (1 + weekday) -1;

showjrday();

break;

case 11:

jrname = "25圣诞节";

jrday = (25 + weekday) -1;

showjrday();

break;

}
  完了,祝你成功

代码清单:

var date:Date = new Date();

var year = date.getFullYear ();
var mon = date.getMonth();
var day = date.getDate();
var hh = date.getHours();
var mm = date.getMinutes();
var ss = date.getSeconds();
hh_txt.text = hh;
mm_txt.text = mm;
ss_txt.text = ss;
mon_txt.text = mon + 1
var oneday:Date = new Date(year,mon,1);
var days:Array = [31,28,31,30,31,30,31,31,30,31,30,31];
if (year%4 == 0 || year@0 == 0) {

(编辑:IT资讯之家 www.it55.com

返回顶部
共3页: 上一页 [1] 2 [3] 下一页  

网友评论

[以下评论为网友观点,不代表本站。请自觉遵守互联网相关政策法规,所有连带责任均有评论者自负。]
[不超过250字]