作者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