我正在 Metro 应用程序中开发一个游戏,其中将有一个游戏运行的初始计时器,比如说大约 1 分 50 秒,计时器显示当前时间。如果 1 分 50 秒时间结束,游戏将结束它会显示一条消息,我将如何实施这种行为?
问问题
339 次
3 回答
1
这基本上可以解决问题,尽管这是我的应用程序唯一做的事情,因此您的实际性能可能会有所不同,并且可能还有其他改进,风格和其他方面,您可以:
var timer = setInterval(function () {
var div = document.getElementById('time'); // this is just a div
// the div shows the time like this: "1:20" - 1 minute, 20 seconds
var lastValue = div.innerText.split(':');
var newValue = parseInt(lastValue[0]) * 60 + parseInt(lastValue[1]) + 1;
if (newValue === 110) {
div.innerText = "Game over!";
clearInterval(timer);
} else {
div.innerText = Math.floor(newValue / 60) + ':' + newValue % 60;
}
}, 1000);
如需更强大的功能,请查看这篇文章。看起来它非常接近您想要做的事情。
于 2012-10-05T04:41:27.537 回答
1
I would say, you can try this (untested):
remainingTime = 110;
setInterval(function() {
countdownStarted(); // game started
},
milliseconds // game will start in this much time
);
function countdownStarted() {
setInterval(function() {
remainingTime = remainingTime*100;
updateTimeOnScreen(); // after every second
if(remainingTime) countdownStarted();
},
100
);
}
function updateTimeOnScreen() {
if(remainingTime == 0) {
timeUp(); // game over
}
// function continues
}
For more examples, I would suggest you to read this article.
于 2012-10-04T04:42:27.610 回答
0
您可以创建一个对象,该对象的 setTimeout 和 clearTimeout 方法设置为某个用户定义的值。
此链接还可以为您提供一些有用的信息。
于 2012-10-04T04:39:03.767 回答