好吧,我需要为 HTML 页面开发一个时钟,但我不想从用户的电脑时钟中获取getHours
并getMinutes
设置它以进行显示,我想获取这些值并将它们转换为游戏中的时间。问题是,这个时钟将由来自具有不同时间的特定游戏的用户使用。
每个实时分钟意味着游戏中的 6 分钟,因此 10 分钟是游戏中的 1 小时。这样,24 小时游戏对我们来说就是 4 小时。
这里有什么帮助吗?
提前致谢!
首先获取游戏开始的时间(以秒为单位)。
var startSecs = (new Date()).getTime() / 1000;
然后使用该数字进行计算以形成要显示的小时、分钟和秒。
// Times 6 converts to game seconds
var elapsedGameSecs = ((new Date()).getTime() / 1000) - startSecs) * 6;
// extract hours and minutes
var gameHour = elapsedGameSecs /3600;
var gameMinute = (elapsedGameSecs % 3600) / 60;
// generate a display string
if (gameMinute < 10) gameMinute = "0" + gameMinute;
var time = gameHour + ":" + gameMinute;
您可以添加恒定数量的游戏内秒数,以使游戏时间从某个时间开始。例如,如果您希望开始时间为 8:00,则在提取和显示之前将 8 * 60 * 60 秒添加到 elapsedGameTime
请注意,在游戏中的 24:00 时间过去后,这将搞砸。如果您想将 12:00 用作午夜而不是 24:00,您还必须对此进行调整。
这也是这样做的,没有做任何好的事情,比如格式化,但很容易理解:
<div id="clock">Clock</div>
var hours = 0;
var minutes = 0;
$(document).ready(function() {
setInterval(function() {
updateClock()
}, 1000);
});
function updateClock() {
minutes +=6;
if (minutes > 59) {
minutes -= 60;
hours++;
}
if (hours > 23) {
hours = 0;
}
$("#clock").html(hours + ':' + minutes);
}
jsfiddle 的链接:http: //jsfiddle.net/6FkNJ/
根据需要更改小时和分钟开始时间以及间隔时间