目前我的代码每秒创建一个子弹60次(setInterval) 我试过循环,但根本没用。 有没有人知道如何调节火灾率?
感谢。
答案 0 :(得分:2)
在大多数实时游戏中,您将拥有一个可以控制动画的主循环。您可以将火力控制添加到此。
// object to hold details about the gun
const gun = {
fireRate : 2, // in frames (if 60 frames a second 2 would be 30 times a second
nextShotIn : 0, // count down timer till next shot
update() { // call every frame
if(this.nextShotIn > 0){
this.nextShotIn -= 1;
}
},
fire(){
if(this.nextShotIn === 0){
// call function to fire a bullet
this.nextShotIn = this.fireRate; // set the countdown timer
}
}
}
function mainAnimationLoop()
// game code
gun.update();
if(fireButtonDown){
gun.fire(); // fire the gun. Will only fire at the max rate you set with fireRate
}
// rest of game code
}