🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

1143閲覧

ゲームのポーズ明けの制限時間表示について

nosonosolife

総合スコア42

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2019/09/21 22:05

編集2019/09/21 22:09

現在HTML5ゲームを製作しているのですが、ゲームをポーズ(一時停止)した時点での制限時間を保持するにはどうすればよいでしょうか。
現在のコードではポーズから開けた瞬間に制限時間がポーズしている時間分減ってしまいます。
ご提示よろしくお願いいたします。

javascript

1var startTime = new Date().getTime()/1000; 2var limitTime = 0; 3 4function timeLimit() { 5 var nowTime = new Date().getTime()/1000; 6 limitTime = Math.ceil(60-(nowTime-startTime)); 7}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ポーズしたときに時刻を取得し、そこから一定時間を加算してポーズ解除時刻としましょう。

投稿2019/09/21 22:21

y_waiwai

総合スコア88038

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nosonosolife

2019/09/22 03:53

ご回答ありがとうございます。 申し訳ございませんが、少しわからない部分もあったため詳細な解説をお願いいたします。
y_waiwai

2019/09/22 04:00

全部を提示されてるわけでないのでイマイチ不明なところもありますが > var startTime = new Date().getTime()/1000; これはどの時点の時刻を取得してるんでしょうか。 > nowTime-startTime これは、たんに経過時刻を出してるだけに見えますが、そんでいいんでしょうか
nosonosolife

2019/09/22 04:34

startTimeは、ゲームがスタートした時刻を記録しています。 60-(nowTime-startTime)は、今の時間とスタートした時間から経過時間を計算し、60秒から引いています。
y_waiwai

2019/09/22 04:50 編集

んじゃゲーム開始から60秒以上たってしまうと、そこはマイナスになりますね。 で、ポーズからの制限時間というのはそのコードのどれを指してるんでしょうか
nosonosolife

2019/09/22 05:53

申し訳ありません。「ポーズからの制限時間」について説明をお願いいたします。
y_waiwai

2019/09/22 06:39

> 現在のコードではポーズから開けた瞬間に制限時間がポーズしている時間分減ってしまいます。
nosonosolife

2019/09/22 07:13

申し訳ありません。少し説明が足りなかったかなと反省しております。 改めて説明いたします。 現在制作しているゲームには60秒の制限時間があります。 そして、ゲームにポーズ(一時停止)機能を付けようと思っています。 しかし、現在のコードではゲームを再開した際に制限時間がポーズした時間分減ってしまいます。 例えば、制限時間が30秒の時にポーズして、10秒経った後に再開すると残りの制限時間が20秒になってしまいます。 ポーズした時点での制限時間を保持するにはどうすればよいか、という質問でした。
y_waiwai

2019/09/22 08:23

ならポーズした時間、というのを計測して、そのスタート時間というものに加えてやればいいというはなしとなりますが。 #いずれにしろコードの全貌がはっきりしないのでなんとも言えませんが
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問