Flash AS 制作個性月歷實例教程
互聯網 發(fā)布時間:2008-10-06 01:20:42 作者:佚名
我要評論

先看效果(動態(tài)的噢,隨時打開都隨時顯示當月當天)
(附.swf文件)
網上有很多很漂亮的月歷,也有很多月歷下載,不過今天我們來自己做一個,個性化的月歷。通過本文的制作練習,我們可以熟悉AS的Date對象、條件語句、循環(huán)語句、文本框控制等一些基礎的運用。
新建一圖層,命名為action,點擊第一幀,打開行為面板。開始寫吧:下面我們以逐步講解的方式,列出代碼,在最后,我將把代碼清單列出方便大家復制,如果你不想搞懂這些代碼,而是想直接拿來用的話,那么你可以跳到最后,將代碼清單中的代碼復制到 action圖層第一幀的行為面板中,然后,在action圖層第二幀插入關鍵幀,在行為面板中輸入:gotoAndPlay(1);即可。
在flash中時間和日期都要用到date對象,所以我們,首先要創(chuàng)建一個date對象,在第一行輸入:
以下為引用的內容:
var date:Date = new Date();//創(chuàng)建一個名為date的Date對象。
接下來,我們利用剛創(chuàng)建的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@0 == 0) {
days.splice(1,1, 29);//將數組中第二個原素28用29替換。
}
var mondays = days[ mon ];//獲得當前月的天數。
var oneday:Date = new Date(year,mon,1);//創(chuàng)建一個本月1號的Date對象:oneday
var weekday = oneday.getDay ();//創(chuàng)建一個本月1號為星期幾的變量weekday, getDay()返回的是0~6的數字,0代表星期天,其它為相應的星期。
差不多了,我們可以顯示號數了:
以下為引用的內容:
function showday () {
var i;
var j = weekday;
for ( i =1;i <= mondays;i ) {//從1號到當前月的天數循環(huán)。
this["d" j].text = i;//依次顯示號數
j = 1;
}
var today = (day weekday) -1;// 獲得今天的位置,即今天的號數加上1號的星期數,因為顯示號的文本框從d0開始,所以要減1.
this["d" today].textColor
= 0xFF0000;//將今天的日期顯示為紅色。
}
showday();
好了,應該差不多了,測試看看,那么現在一個當月的月歷已顯示出來了,而且今天的號數還以紅色高亮顯示。是不是還可以做點啥呢?對了,我們可以把節(jié)日,或你及親朋的生日,或是你覺得的重要日子提示并高亮顯示。很不幸的是,因為農歷公歷對照的月歷制作太過麻煩,本文并不涉及農歷,所以中國人民的很多傳統節(jié)日就無法高亮顯示了。
在flash中時間和日期都要用到date對象,所以我們,首先要創(chuàng)建一個date對象,在第一行輸入:
以下為引用的內容:
var date:Date = new Date();//創(chuàng)建一個名為date的Date對象。
接下來,我們利用剛創(chuàng)建的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@0 == 0) {
days.splice(1,1, 29);//將數組中第二個原素28用29替換。
}
var mondays = days[ mon ];//獲得當前月的天數。
var oneday:Date = new Date(year,mon,1);//創(chuàng)建一個本月1號的Date對象:oneday
var weekday = oneday.getDay ();//創(chuàng)建一個本月1號為星期幾的變量weekday, getDay()返回的是0~6的數字,0代表星期天,其它為相應的星期。
差不多了,我們可以顯示號數了:
以下為引用的內容:
function showday () {
var i;
var j = weekday;
for ( i =1;i <= mondays;i ) {//從1號到當前月的天數循環(huán)。
this["d" j].text = i;//依次顯示號數
j = 1;
}
var today = (day weekday) -1;// 獲得今天的位置,即今天的號數加上1號的星期數,因為顯示號的文本框從d0開始,所以要減1.
this["d" today].textColor
= 0xFF0000;//將今天的日期顯示為紅色。
}
showday();
好了,應該差不多了,測試看看,那么現在一個當月的月歷已顯示出來了,而且今天的號數還以紅色高亮顯示。是不是還可以做點啥呢?對了,我們可以把節(jié)日,或你及親朋的生日,或是你覺得的重要日子提示并高亮顯示。很不幸的是,因為農歷公歷對照的月歷制作太過麻煩,本文并不涉及農歷,所以中國人民的很多傳統節(jié)日就無法高亮顯示了。
相關文章
flash如何做雨滴下落的動畫效果? Flash8做一個下雨效果的技巧
flash如何做雨滴下落的動畫效果?想要做一個逼真的雨滴落下的效果,該怎么做雨滴落下水花擴散的效果呢?下面我們就來看看Flash8做一個下雨效果的技巧2022-08-18flash理發(fā)店旋轉彩燈動畫效果怎么做? 理發(fā)店旋轉燈制作技巧
flash理發(fā)店旋轉彩燈動畫效果怎么做?經常使用flash制作動畫效果,該怎么制作旋轉燈效果,下面我們就來看看理發(fā)店旋轉燈制作技巧,詳細請看下文介紹2022-07-23flash怎么把形狀變成文字? flash星星變文字動畫的實現方法
flash怎么把形狀變成文字?flash繪制的星星想要慢慢變成文字,該怎么將圖形變文字呢?下面我們就來看看flash星星變文字動畫的實現方法,詳細請看下文介紹2022-06-06- flash怎么制作補間動畫?flash中想要制作形狀變化的動畫效果,該怎么制作補間動畫呢?下面我們就來就來看看flash變形動畫的實現方法2022-02-06
FLASH怎么讓搖曳的荷花更逼著? flash制作風吹荷花動畫的技巧
FLASH怎么讓搖曳的荷花更逼?flash中想要制作風吹荷花的動畫熊愛國,該怎么制作這個效果呢?下面我們就來看看flash制作風吹荷花動畫的技巧2022-02-06flash怎么制作荷花在荷花池里搖擺的動畫? FLASH做擺動荷花的技巧
flash怎么制作荷花在荷花池里搖擺的動畫??flash中想要制作荷花搖擺的動畫,該怎么制作荷花搖曳的動畫呢?下面我們就來看看FLASH做擺動荷花的技巧2022-02-06flash怎么做徑向彩虹文字動畫? 文字添加彩虹動畫效果的技巧
flash怎么做徑向彩虹文字動畫?flash椎間盤買個輸入的文字,想要添加動畫效果,該怎么添加徑向彩虹文字效果呢?下面我們就來看看flash文字添加彩虹動畫效果的技巧,詳細請2021-11-09flash怎么做眨眼動畫效果? flash動漫人物眨眼動畫的做法
flash怎么做眨眼動畫效果?flash中想要制作一個動漫人物的眼睛眨眼動畫,該怎么制作呢?下面我們就來看看flash動漫人物眨眼動畫的做法2021-11-08flash怎么制作火焰文字效果? flash做火焰字體動畫的技巧
flash怎么制作火焰文字效果?flash中想要制作一個熊熊燃燒的活顏文字,該怎么制作這個文字效果呢?下面我們就來看看flash做火焰字體動畫的技巧2021-11-01flash怎么做文字動畫logo? 閃動的片頭動畫flash的實現方法
flash怎么做文字動畫logo?flash中想要制作一個文字logo的動畫,讓文字閃爍,該怎么制作這個效果呢?下面我們就來看看flash制作文字動畫的技巧2021-10-29