我是编码的新手,并试图制作2D射击游戏。拍摄效果很好,除了拍摄之间的时间太快。我把它设置好如果按住空格键,就会开枪。这个问题是它以极快的速度发射。我希望每秒发射2/3次。我想知道最好的办法是什么。这是我目前的拍摄代码:
if(spaceDown && shots.length < 20){
shots.push(new Shot(player.x, player.y));
}
答案 0 :(得分:0)
你可以跟踪一个变量是否可以在游戏循环执行中持续存在并在延迟后重置它。
let cooldown = false;
if(cooldown == false && spaceDown && shots.length < 20){
shots.push(new Shot(player.x, player.y));
cooldown = true;
setTimeout(() => cooldown = false, 300);
}