-4

好吧,我需要为 HTML 页面开发一个时钟,但我不想从用户的电脑时钟中获取getHoursgetMinutes设置它以进行显示,我想获取这些值并将它们转换为游戏中的时间。问题是,这个时钟将由来自具有不同时间的特定游戏的用户使用。

每个实时分钟意味着游戏中的 6 分钟,因此 10 分钟是游戏中的 1 小时。这样,24 小时游戏对我们来说就是 4 小时。

这里有什么帮助吗?
提前致谢!

4

2 回答 2

1

首先获取游戏开始的时间(以秒为单位)。

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,您还必须对此进行调整。

于 2012-12-27T21:42:01.680 回答
0

这也是这样做的,没有做任何好的事情,比如格式化,但很容易理解:

​&lt;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/

根据需要更改小时和分钟开始时间以及间隔时间

于 2012-12-27T21:45:22.043 回答