看板 Flash 關於我們 聯絡資訊
你的想法,用一個參數判斷能不能射是合理的 假設以下的流程 (寫的簡陋點,別介意) var canFire = true; onKeyDown = function(){ if(canFire){ fire(); canFire = false; setTimeout(function(){ canFire = true; }, delayTime); } } 應該是這樣就可以了 如果是自動間隔時間發射 var autoTimer; var autoFire = false; onKeyDown = function(){ autoFire = !autoFire; if(autoFire){ autoTimer = setInterval(function(){fire()}, delayTime); }else{ clearInterval(autoTimer); } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 42.70.212.41 ※ 編輯: no1kk 來自: 42.70.212.41 (10/01 18:19) ※ 編輯: no1kk 來自: 42.70.212.41 (10/01 18:20)
KawasumiMai:純分享,以前也很喜歡用Timer作事情 10/01 23:03
KawasumiMai:不過後來發現很多情況比起讓Timer自己自顧自的跑 10/01 23:03
KawasumiMai:還需要顧慮到很多"影格同步"的問題,再加上東西一多, 10/01 23:04
KawasumiMai:就不太建議每個東西都掛Timer,所以後來就習慣改用 10/01 23:04
KawasumiMai:EnterFrame去統一CountDown很多事情,除了不用多Run以 10/01 23:05
KawasumiMai:外,時間點也很好掌控,更可以利用修改fps達到戲劇化 10/01 23:06
KawasumiMai:效果 10/01 23:06
KawasumiMai:除非是需要講求精準時間點如馬錶,就只能掛Timer去超 10/01 23:07
KawasumiMai:脫fps跟執行所需的時間誤差 10/01 23:07
no1kk:已經很久沒有做比較大型的case了,大case的確統一控管會較佳 10/02 01:58