[問題] 想請問一段倒數計時器的程式 (AS3)

看板Flash作者 (鍾希斌)時間15年前 (2010/11/05 17:26), 編輯推噓0(009)
留言9則, 3人參與, 最新討論串1/1
原始檔 http://www.mediafire.com/?f6sryipirgclj8t 自己是...是AS3的新新手...上上禮拜從圖書館抓了一本書就開始練到現在.....(好難 QQ) 這個倒數計時器的練習是書中的 他的原始程式是 var countDown_date:Date = new Date(2011,0,1); countDown(); function countDown(){ var count_date:Date = new Date(); var overDate = (countDown_date. getTime()) - (count_date.getTime()); days_txt.text = Math.floor(overDate/24/60/60/1000); hours_txt.text = Math.floor(overDate/60/60/1000) % 24; minutes_txt.text = Math.floor(overDate/60/1000) % 60; seconds_txt.text = Math.floor(overDate/1000) % 60; setTimeout(countDown,1000); } 我自己改寫成以下 雖然能執行 但輪出面版會一直輸出參數錯誤的訊息 var countDown_date:Date = new Date(2011,0,1); stage.addEventListener(Event.ENTER_FRAME,countDown); function countDown(evt:Event) { var count_date:Date = new Date(); var overDate = (countDown_date.getTime()) - (count_date.getTime()); days_txt.text = Math.floor(overDate/24/60/60/1000); hours_txt.text = Math.floor(overDate/60/60/1000) % 24; minutes_txt.text = Math.floor(overDate/60/1000) % 60; seconds_txt.text = Math.floor(overDate/1000) % 60; setTimeout(countDown,1000); } 想請問..各位前輩的問題有2個... 1.是我的程式為什麼執行起來 會一直輸出參數錯誤 2.是函數名稱後面的() 裡面應該要填什麼??? 我之前的練習 有些是填evt:Event evt:MouseEvent me:MouseEvent me:Event 等等 都是照書上的照寫 但其實不太瞭解 究竟()內填的文字的根據是什麼..... 謝謝解惑 Orz Orz Orz -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.125.151.122

11/05 17:36, , 1F
先回答第2個,F1手冊裡面通常都有解釋要接什麼參數
11/05 17:36, 1F

11/05 17:37, , 2F
把function countDown(evt:Event) 改成
11/05 17:37, 2F

11/05 17:37, , 3F
function countDown(evt:Event = null) 應該就會動了
11/05 17:37, 3F

11/05 17:37, , 4F
至於為什麼會跳錯誤訊息,其實如果你仔細看它都會講你
11/05 17:37, 4F

11/05 17:38, , 5F
的程式錯在哪邊、為什麼錯 :)
11/05 17:38, 5F

11/05 18:07, , 6F
另外,AS3有Timer類別,可以不用enterframe去算時間了
11/05 18:07, 6F

11/05 21:29, , 7F
問題1,應該可以看到提示哪一行出錯吧?列一下
11/05 21:29, 7F

11/06 16:08, , 8F
通常是addListener的()裡邊用什麼,所執行的函數就用什麼
11/06 16:08, 8F

11/06 16:09, , 9F
()內可以用 e:Event, me:Event
11/06 16:09, 9F
文章代碼(AID): #1Cqyt90D (Flash)
文章代碼(AID): #1Cqyt90D (Flash)