我正在Metro应用程序中开发一个游戏,其中会有一个游戏的初始计时器,比如大约1分50秒,计时器显示当前时间。如果1分50秒的时间结束,游戏将结束它会显示一条消息,我将如何实现这样的行为?
答案 0 :(得分:1)
我想说,你可以尝试这个(未经测试):
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
}
有关更多示例,建议您阅读this article。
答案 1 :(得分: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);
对于更强大的内容,请查看this article。它看起来非常接近你想要做的事情。
答案 2 :(得分:0)
您可以创建一个setTimeout和clearTimeout方法设置为某个用户定义值的对象。
This link也可以为您提供一些有用的信息。