Re: [問題] 遊戲中 子彈發射的間隔

作者: no1kk (心中在下雨)   2013-10-01 18:14:41
你的想法,用一個參數判斷能不能射是合理的
假設以下的流程 (寫的簡陋點,別介意)
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);
}
}
作者: KawasumiMai (さあ、死ぬがいい)   0000-00-00 00:00:00
純分享,以前也很喜歡用Timer作事情不過後來發現很多情況比起讓Timer自己自顧自的跑還需要顧慮到很多"影格同步"的問題,再加上東西一多,就不太建議每個東西都掛Timer,所以後來就習慣改用EnterFrame去統一CountDown很多事情,除了不用多Run以外,時間點也很好掌控,更可以利用修改fps達到戲劇化效果除非是需要講求精準時間點如馬錶,就只能掛Timer去超脫fps跟執行所需的時間誤差
作者: no1kk (心中在下雨)   0000-00-00 00:00:00
已經很久沒有做比較大型的case了,大case的確統一控管會較佳

Links booklink

Contact Us: admin [ a t ] ucptt.com