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