-4

さて、私は HTML ページの時計を開発する必要がありますが、ユーザーの PC 時計から取得して表示用に設定したくはありません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 にしたい場合は、抽出して表示する前に、eplapseGameTime に 8 * 60 * 60 秒を追加します。

ゲーム内時間の24:00を過ぎると、これが台無しになることに注意してください。24:00 ではなく 12:00 を午前 0 時として使用する場合も、これを調整する必要があります。

于 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 に答える