很簡單 就是一個倒數的時間
比較需要注意的只有新建DATE物件時
月份的地方要減一 也就是10月的話是輸入9
分成兩位數顯示只是單純排列的問題囉!
至於字體(digital-7),可以到這邊下載
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | var today:Date = new Date(); var howyaer:Number; if (today.getMonth()<10&&today.getDay()<29) { howyaer=today.getFullYear(); } else { howyaer=today.getFullYear()+1; } yeartxt.text = String(howyaer); var timedate:Date=new Date(howyaer,9,29,0); function countDown(){ var countdate:Date = new Date(); var overDate:Number = timedate.getTime() - countdate.getTime(); var dayNum = Math.floor(overDate / 24 / 60 / 60 / 1000); var hourNum = Math.floor(overDate / 60 / 60 / 1000) % 24; var minNum = Math.floor(overDate / 60 / 1000) % 60; var secNum = Math.floor(overDate / 1000) % 60; dayNum = dayNum < 100?"0" + dayNum:dayNum; dayNum = dayNum < 10?"0" + dayNum:dayNum; hourNum = hourNum < 10?"0" + hourNum:hourNum; minNum = minNum < 10?"0" + minNum:minNum; secNum = secNum < 10?"0" + secNum:secNum; day1.text = String(dayNum).substr(0,1); day2.text = String(dayNum).substr(1,1); day3.text = String(dayNum).substr(2,1); hour1.text = String(hourNum).substr(0,1);; hour2.text = String(hourNum).substr(1,1);; min1.text = String(minNum).substr(0,1); min2.text = String(minNum).substr(1,1); sec1.text = String(secNum).substr(0,1); sec2.text = String(secNum).substr(1,1); setTimeout(countDown, 1000); } countDown(); |
為什麼我程式碼都複製了但完全沒顯示任何東西
嗯…前面有說==!
「程式的部份是貼上就好!不過要在場景準備顯示用的文字框依照順序命名:day1,day2,day3,hour1…………..」
若是在倒數結束規零時,會觸發動畫效果(如秀出標題、煙火…等)
↑這語法如何寫?
最簡單的方式就是這樣嚕
if( dayNum == 0 && hourNum == 0 && minNum == 0 &&secNum == 0){
//秀出標題、煙火…等
}
THX~!~!~
但我加了你寫的判斷式還是沒有變 大概是因為目標時間到了時候沒有全部規零…
若是我把倒數目標日期改成小於今天的日期
var timedate:Date=new Date(howyaer,5,14,0);
則會變成↓
0*4天0*時0*分0*秒
( * = 無顯示 )
我上面補充的code應該是要插入在18行的地方喔!
會有沒有顯示的地方表示計算有出錯。
還有new Date(howyaer,5,14,0);是表示要計算到6/14。建議還是把全部的變數trace出來會比較清楚。
1. 今天是八月三日,但顯示剩餘天數是1天…
2. 時間到了還是沒辦法全部規零
哪邊有計算錯誤? 麻煩幫看下~ THX~ ^ ^”
var today:Date = new Date();
var howyaer:Number;
if (today.getMonth()<8&&today.getDay()<14) {
howyaer=today.getFullYear();
} else {
howyaer=today.getFullYear()+1;
}
yeartxt.text = String(howyaer);
var timedate:Date=new Date(howyaer,7,14,0);
function countDown(){
var countdate:Date = new Date();
var overDate:Number = timedate.getTime() – countdate.getTime();
var dayNum = Math.floor(overDate / 24 / 60 / 60 / 1000);
var hourNum = Math.floor(overDate / 60 / 60 / 1000) % 24;
var minNum = Math.floor(overDate / 60 / 1000) % 60;
var secNum = Math.floor(overDate / 1000) % 60;
if( dayNum == 0 && hourNum == 0 && minNum == 0 &&secNum == 0){
gotoAndStop(2);
} else {
gotoAndStop(1);
}
dayNum = dayNum < 100?"0" + dayNum:dayNum;
dayNum = dayNum < 10?"0" + dayNum:dayNum;
hourNum = hourNum < 10?"0" + hourNum:hourNum;
minNum = minNum < 10?"0" + minNum:minNum;
secNum = secNum < 10?"0" + secNum:secNum;
day1.text = String(dayNum).substr(0,1);
day2.text = String(dayNum).substr(1,1);
day3.text = String(dayNum).substr(2,1);
hour1.text = String(hourNum).substr(0,1);;
hour2.text = String(hourNum).substr(1,1);;
min1.text = String(minNum).substr(0,1);
min2.text = String(minNum).substr(1,1);
sec1.text = String(secNum).substr(0,1);
sec2.text = String(secNum).substr(1,1);
setTimeout(countDown,1000);
}
countDown();
var timedate:Date=new Date(howyaer,7,14,0);
會計算到下一個8/14,所以如果是想要計算到2012/8/3的話(為什麼是14阿?)
應該是
var timedate:Date=new Date(2012,7,3,0);
howyaer的計算就不需要了!
沒辦法全部規零是什麼狀況勒?你有把dayNum, hourNum ,minNum,secNum都trace出來看看嗎?
因為我的目標日期要是8/14
dayNum, hourNum ,minNum,secNum都trace出來看看
↑ 這個我不會QQ ,懇請協助~!
trace(dayNum);
trace(hourNum);
trace(minNum);
trace(secNum);
我把trace加入了,輸出出來發現數字變成負數
後來我把這個改成醬就行了 !~~!
if( dayNum < 0 && hourNum < 0 && minNum < 0 &&secNum < 0)
THX!~~!!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!~!
恭喜恭喜~:)
不好意思
那如果只要倒數秒數的話
比如倒數40秒
是把day hour min拿掉就好嗎??
是低!
不好意思@@我想問年分那邊是怎麼設的@@
我只看到了
yeartxt.text = String(howyaer);
這段
但我設一個”yeartxt.text”的動態文字框
輸入後上面只顯示年份
月份那些我看你的程式好像沒像下面倒數那樣標示
…我還是菜鳥..看不懂你上面那段
var today:Date = new Date();
var howyaer:Number;
if (today.getMonth()<10&&today.getDay()”<
if (today.getMonth()<10&&today.getDay()<29) {
howyaer=today.getFullYear();
} else {
howyaer=today.getFullYear()+1;
}
只是為了把一年的開頭以10/29計算而已
「月份那些我看你的程式好像沒像下面倒數那樣標示」
這個問題我不懂?
抱歉,我是個flash新手,最近在做影片,找到您的語法,但是我連怎麼開始都不會,難道是開新檔案,F9貼語法就好了嗎
……..
程式的部份是貼上就好!不過要在場景準備顯示用的文字框依照順序命名:day1,day2,day3,hour1…………..
請問~我寫了一個是這個字型的時計
可是我的11都會黏在一起~請問要寫什麼語法讓它分開!我看你的2011的1字都可以分開~
謝謝^^
因為我的動態文字框全部都拆開,也就是11會變成兩個1跟1的動態文字框。所以不會黏在一起!