- ベストアンサー
現実時間とゲーム内時間の表示方法について
- オンラインゲームで現実時間とゲーム内時間を表示させる方法を知りたい
- Javaを使って現在の時間を表示する方法はできるが、ゲーム内の時間に変換する方法がわからない
- 現実時間の0:00に対応するゲーム内の時間が12:00であり、3分ごとに1時間進む仕組みの表示方法が知りたい
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちわ。 似たようなものを、どこかからパクればありそうですが、、このような感じになるはずです。 <html> <head> <title>test</title> <script type="text/javascript"><!-- function disp(){ var now = new Date(); var gametime = ( (now.getHours() * 60 * 60) + (now.getMinutes() * 60) + (now.getSeconds()) + 12 * 60 // 差をつける(分単位) ) * 60 // 倍数をつける(秒単位) ; var gamehour=Math.floor(gametime / (60 * 60)) % 24; var gameminites=Math.floor(gametime / 60) % 60; var gamesecounds=gametime % 60; document.getElementById("nowtime").innerHTML= now.getHours() + "時" + now.getMinutes() + "分" + now.getSeconds() + "秒"; document.getElementById("gametime").innerHTML= gamehour + "時" + gameminites + "分"; setTimeout("disp();", 500); // 0.5秒おきに更新 } //--></script> </head> <body onLoad="disp()"> now:<span id="nowtime"></span><br /> game:<span id="gametime"></span><br /> </body> </html>
その他の回答 (1)
- Gotthold
- ベストアンサー率47% (396/832)
JavaとJavaScriptは全く別のものですが、 カテゴリからJavaScriptとして回答します。 進み具合が20倍のようなので、とりあえず秒に直して20かければよいのではないでしょうか、 var d = new Date(); var game_d = (d.getHours() * 3600 + d.getMinutes() * 60 + d.getSeconds()) * 20 + 0 ; //ずれてるなら0のところを適当に変える var game_Hours = Math.floor(game_d / 3600) % 24 ; var game_Minutes = Math.floor(game_d / 60) % 60 ; var game_Seconds = game_d % 60 ; alert("現在時刻:"+d.toLocaleString()+"\nゲーム時刻: "+game_Hours+"時"+game_Minutes+"分"+game_Seconds+"秒");
お礼
すみません!私の書き方が不足でした。 JavaScriptです! ありがとうございました!