CodeHS JavaScript Timer-倒计时

时间:2017-02-13 23:47:09

标签: javascript countdowntimer

我在CodeHS上工作,需要在我正在制作的游戏中为我的通电做一个倒数计时器,Breakout。我需要定时器可以重复使用,所以没有for循环,它需要以秒/毫秒(无关紧要)下降,最好是持续30秒或30,000毫秒。记住这是我正在研究的CodeHS。

3 个答案:

答案 0 :(得分:0)

告诉我,如果我错了,因为我不知道CodeHS是什么,但我确信这可以通过一个简单的setInterval函数来实现。

完整的秒数:

   var timer=30;
    setInterval(function(){
    timer-=1;
    document.getElementById(timerId). innerHTML=timer;//shows the remaining time
    }, 1000);//subtracts 1 second from timer each second

要十分之一秒

var timer=30.0;
setInterval(function(){
timer-=0.1;
document.getElementById(timerId). innerHTML=timer;//shows the remaining time
}, 1000);//subtracts a tenth second from timer every 0.1 seconds

答案 1 :(得分:0)

如果您想在启动计时器30秒后发生某些事情,您可以执行以下操作:

//set the time remaining to 30 outside of a function so it is global
var timeRemaining = 30;

function start(){
//set the timer to run the function countdown once every second(1000 milliseconds)
    setTimer(countdown, 1000)
}

function countdown(){
    /*every time it is called this function subtracts one from the time if it is
    more than 30, when it reaches 0 stops the timer and resets the time*/
    if(timeRemaining<=0){
        stopTimer(countdown);
        timeRemaining = 30;
        println("Done");
        //30 seconds has passed, do what you need here(call your function)
    }else{
        timeRemaining--;
        println(timeRemaining+" seconds left")
    }
}

println("Done")之后的时间段内添加您的功能或任何您想要发生的事情。

由于timeRemaining最后设置为30,因此您可以再次调用setTimer(countdown, 1000)来重复使用计时器。

您可以删除println声明,只是为了查看正在发生的事情。

如果CodeHS不想要硬编码的数字(我认为他们称之为“幻数”),请将30s替换为常数设置为30。

如果您需要更好的解释,请告诉我。

答案 2 :(得分:-1)

var timeLeft = 60;
var txt = new Text(" ","30pt Arial");

function start(){txt.setPosition(200,200); txt.setColor(Color.black); add(txt); setTimer(countdown,1000);}

function countdown(){drawTimer(); timeLeft--;}

function drawTimer(){txt.setText(timeLeft);}