欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Flash AS 制作個(gè)性月歷實(shí)例教程

互聯(lián)網(wǎng)   發(fā)布時(shí)間:2008-10-06 01:20:42   作者:佚名   我要評(píng)論
先看效果(動(dòng)態(tài)的噢,隨時(shí)打開都隨時(shí)顯示當(dāng)月當(dāng)天) (附.swf文件) 網(wǎng)上有很多很漂亮的月歷,也有很多月歷下載,不過今天我們來自己做一個(gè),個(gè)性化的月歷。通過本文的制作練習(xí),我們可以熟悉AS的Date對(duì)象、條件語句、循環(huán)語句、文本框控制等一些基礎(chǔ)的運(yùn)用。
新建一圖層,命名為action,點(diǎn)擊第一幀,打開行為面板。開始寫吧:下面我們以逐步講解的方式,列出代碼,在最后,我將把代碼清單列出方便大家復(fù)制,如果你不想搞懂這些代碼,而是想直接拿來用的話,那么你可以跳到最后,將代碼清單中的代碼復(fù)制到 action圖層第一幀的行為面板中,然后,在action圖層第二幀插入關(guān)鍵幀,在行為面板中輸入:gotoAndPlay(1);即可。
在flash中時(shí)間和日期都要用到date對(duì)象,所以我們,首先要?jiǎng)?chuàng)建一個(gè)date對(duì)象,在第一行輸入:
以下為引用的內(nèi)容:
var date:Date = new Date();//創(chuàng)建一個(gè)名為date的Date對(duì)象。
接下來,我們利用剛創(chuàng)建的Date對(duì)象來獲取當(dāng)前日期、時(shí)間:
以下為引用的內(nèi)容:
var year = date.getFullYear ();
var mon = date.getMonth();
var day = date.getDate();
var hh = date.getHours();
var mm = date.getMinutes();
var ss = date.getSeconds();
我們先讓時(shí)鐘走起來:
以下為引用的內(nèi)容:
hh_txt.text = hh;
mm_txt.text = mm;
ss_txt.text = ss;
在action圖層的第二幀,插入關(guān)鍵幀,在行為面板中輸入:
以下為引用的內(nèi)容:
gotoAndPlay(1);//有了這一句,時(shí)鐘才會(huì)走動(dòng)。
現(xiàn)在可以點(diǎn)“控制“-”測試影片“,看看,時(shí)鐘應(yīng)該開始起動(dòng)了。回到場景,回到action圖層第一幀行為面板,我們接著上面的代碼,往下寫:
以下為引用的內(nèi)容:
year_txt.text = year;//在舞臺(tái)上顯示當(dāng)前年號(hào)
mon_txt.text = mon 1//在舞臺(tái)上顯示當(dāng)前月份,因?yàn)間etMonth()返回的是0~11,0代表1月,依次,所以當(dāng)前月份應(yīng)該是mon 1.
年、月、時(shí)、分、秒都已經(jīng)顯示出來了,接下來我們來顯示日,要顯示日,有點(diǎn)麻煩,上面那些內(nèi)容在舞臺(tái)中只顯示一個(gè),而日要顯示30個(gè)左右,而且每個(gè)月天數(shù)還不一樣。所以我們首先要確定,當(dāng)前月的天數(shù),我們將一年中每月的天數(shù)放到一個(gè)數(shù)組中,然后根據(jù)當(dāng)前月份去找相應(yīng)的數(shù)組元素就行了。
以下為引用的內(nèi)容:
var days:Array = [31,28,31,30,31,30,31,31,30,31,30,31];
現(xiàn)在問題又出來了,如果是潤年,2月是29天,而不是28天,所以又必須判斷當(dāng)前年,是不是潤年,潤年是能被4整除并且不能被100整除或者能被400整除的年份,所以下面這樣寫:
以下為引用的內(nèi)容:
if (year%4 == 0 && year% 100 <> 0 || year@0 == 0) {
days.splice(1,1, 29);//將數(shù)組中第二個(gè)原素28用29替換。
}
var mondays = days[ mon ];//獲得當(dāng)前月的天數(shù)。
var oneday:Date = new Date(year,mon,1);//創(chuàng)建一個(gè)本月1號(hào)的Date對(duì)象:oneday
var weekday = oneday.getDay ();//創(chuàng)建一個(gè)本月1號(hào)為星期幾的變量weekday, getDay()返回的是0~6的數(shù)字,0代表星期天,其它為相應(yīng)的星期。

差不多了,我們可以顯示號(hào)數(shù)了:
以下為引用的內(nèi)容:
function showday () {
var i;
var j = weekday;
for ( i =1;i <= mondays;i ) {//從1號(hào)到當(dāng)前月的天數(shù)循環(huán)。
this["d" j].text = i;//依次顯示號(hào)數(shù)
j = 1;
}
var today = (day weekday) -1;// 獲得今天的位置,即今天的號(hào)數(shù)加上1號(hào)的星期數(shù),因?yàn)轱@示號(hào)的文本框從d0開始,所以要減1.
this["d" today].textColor
= 0xFF0000;//將今天的日期顯示為紅色。
}
showday();

好了,應(yīng)該差不多了,測試看看,那么現(xiàn)在一個(gè)當(dāng)月的月歷已顯示出來了,而且今天的號(hào)數(shù)還以紅色高亮顯示。是不是還可以做點(diǎn)啥呢?對(duì)了,我們可以把節(jié)日,或你及親朋的生日,或是你覺得的重要日子提示并高亮顯示。很不幸的是,因?yàn)檗r(nóng)歷公歷對(duì)照的月歷制作太過麻煩,本文并不涉及農(nóng)歷,所以中國人民的很多傳統(tǒng)節(jié)日就無法高亮顯示了。

相關(guān)文章

最新評(píng)論