精彩专题推荐:建站之入门课 建站之必修课 建站之关键课 网站价值所在 流量提高专题 css+div 标准 个人网站打造全过程
  • 让你的网站产生收益赚钱,有博客和网站的绝对不能错过
  • 将指定的流量带到你的网站,为你站增加有效的访客,为你提升业绩
  • Flash AS 制作个性月历实例教程

    来源:中国教程网 时间:07-11-08 点击: 点击这里收藏本文

    新建一图层,命名为action,点击第一帧,打开行为面板。开始写吧:下面我们以逐步讲解的方式,列出代码,在最后,我将把代码清单列出方便大家复制,如果你不想搞懂这些代码,而是想直接拿来用的话,那么你可以跳到最后,将代码清单中的代码复制到 action图层第一帧的行为面板中,然后,在action图层第二帧插入关键帧,在行为面板中输入:gotoAndPlay(1);即可。

    在flash中时间和日期都要用到date对象,所以我们,首先要创建一个date对象,在第一行输入:

    以下为引用的内容:
    var date:Date = new Date();//创建一个名为date的Date对象。

    接下来,我们利用刚创建的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;

    在action图层的第二帧,插入关键帧,在行为面板中输入:

    以下为引用的内容:
    gotoAndPlay(1);//有了这一句,时钟才会走动。

    现在可以点“控制“-”测试影片“,看看,时钟应该开始起动了。回到场景,回到action图层第一帧行为面板,我们接着上面的代码,往下写:

    以下为引用的内容:
    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%400 == 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();

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

    9 7 3 1 2 3 4 5 4 8 :

    用户评论

    广而告之