我正在进行一个简单的游戏。它几乎完成除了计时器有一个小故障,我不知道什么是做它。当你按下一个按钮时,画布上的HTML5文本开始从35倒数到0.在第一次运行时,它很好。但是如果你选择重新玩刷新计时器开始倒计时更快。这里是代码。第二次运行时计时器的计数更快
var timer = 35;
ctx.fillText("Countdown: " + timer, 320, 32);
function resetReggie(){
reggie.x = canvasWidth/2;
reggie.y = canvasHeight/2;
}
//Starts Timer for Timed Game
function timedMsg()
{
resetReggie();
ballsCaught = 0;
timer = 35;
alert('Pick up as many as you can in ' + timer + ' seconds');
countDown();
var t=setTimeout(function() {
var again = confirm("TIMES UP! You Gathered " + ballsCaught + " Balls! Play Again?");
if (again === true){
timedMsg();
resetReggie();
}
if (again === false){
resetReggie();
ballsCaught = 0;
timer = 35;
}
}, timer * 1000);
}
function countDown() {
if (timer != 0){
timer-=1;
setTimeout('countDown()', 1000);
}
}
因为你正在改变'timer'它开始,'countDown'确实每次'计时器 - = 1;',然后将其在你的'setTimeout'中使用,以确定等待的时间。/ – Gavin 2012-07-26 14:20:13
如果你每秒钟倒计时,为什么你还需要另一个计时器35秒? – 2012-07-26 14:24:12