如何在“keyWentDown”功能之后进行短暂的延迟,以便不允许垃圾邮件。?

问题描述 投票:0回答:2

我正在我的 code.org 平台上苦苦挣扎,不知道如何进行延迟,因为我正在制作一款射击游戏。当我单击时,我希望发生某种重新加载,因此重新加载可能需要至少 3000 毫秒。

我听说过一些关于 timeOut() 函数的事情,但我不知道如何使用它。我尝试了很多方法,比如将超时保留在 if 之外和 if 内部。

javascript if-statement timeout mousedown
2个回答
0
投票

您可以使用内置的

setTimeOut
功能。正如 docs 所说,它会在所需时间结束后触发该函数。这里我为你构建了简单的装弹功能,空间射击,a装弹;

var bullets=6;
function draw() {
 
   if(bullets > 0) { 
     if (keyWentDown("space")){
      bullets=bullets-1
      console.log(bullets)
      }}
    if(bullets < 6){
      if(keyWentDown("a")){
        reload();
        
      }
    }  
      
}

function reload(){
  console.log('reloading')
  setTimeout(function() {
  console.log("relaoded");
  bullets = 6;
}, 3000);
}

这是游戏实验室链接; https://studio.code.org/projects/gamelab/ZyXRGRq5hyqcPXYTwcfAPfDihSHCyv1CesSnMBwjMWs


0
投票

好吧,我遇到了一个问题,我希望我的船在 3 秒内爆炸,但我似乎无法延迟(这全部在 code.org 中)。有人可以帮助我吗?

© www.soinside.com 2019 - 2024. All rights reserved.