帆布游戏|如何控制火灾率?

时间:2017-05-13 20:53:43

标签: javascript html5 canvas

目前我的代码每秒创建一个子弹60次(setInterval) 我试过循环,但根本没用。 有没有人知道如何调节火灾率?

感谢。

1 个答案:

答案 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
}