作者no1kk (心中在下雨)
看板Flash
標題Re: [問題] 遊戲中 子彈發射的間隔
時間Tue Oct 1 18:14:41 2013
你的想法,用一個參數判斷能不能射是合理的
假設以下的流程 (寫的簡陋點,別介意)
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)
1F:→ KawasumiMai:純分享,以前也很喜歡用Timer作事情 10/01 23:03
2F:→ KawasumiMai:不過後來發現很多情況比起讓Timer自己自顧自的跑 10/01 23:03
3F:→ KawasumiMai:還需要顧慮到很多"影格同步"的問題,再加上東西一多, 10/01 23:04
4F:→ KawasumiMai:就不太建議每個東西都掛Timer,所以後來就習慣改用 10/01 23:04
5F:→ KawasumiMai:EnterFrame去統一CountDown很多事情,除了不用多Run以 10/01 23:05
6F:→ KawasumiMai:外,時間點也很好掌控,更可以利用修改fps達到戲劇化 10/01 23:06
7F:→ KawasumiMai:效果 10/01 23:06
8F:→ KawasumiMai:除非是需要講求精準時間點如馬錶,就只能掛Timer去超 10/01 23:07
9F:→ KawasumiMai:脫fps跟執行所需的時間誤差 10/01 23:07
10F:→ no1kk:已經很久沒有做比較大型的case了,大case的確統一控管會較佳 10/02 01:58