[解決済み] 永遠にループし、デルタタイムを提供する
2022-02-15 16:16:41
質問
HTML5ゲーム開発のJavascriptフレームワークを書いているのですが、最後の刻みと現在の刻みの時間差をユーザーに提供したいのですが、どうすればいいですか?
setInterval(tick, 16.6666666);
function tick() {
update();
draw();
}
それは私が持っているものですが、持っていたいのです。
while (true) {
/* Calculate delta time */
tick(dt);
}
function tick(dt) {
update(dt);
draw();
}
date.getTime();を使ってデルタタイムを計算してみましたが、Firefoxはスクリプトがクラッシュしたと言いました。明らかに、無限ループはクラッシュします。どうすればいいのか、何か提案はありますか?
無限ループにしたい。
break
. 私はデルタ時間も渡したいのですが、それは私が知っている方法です。
どのように解決するのですか?
最終更新時刻を変数に保持し、経過時間/差分時間を
tick
そのものです。
var lastUpdate = Date.now();
var myInterval = setInterval(tick, 0);
function tick() {
var now = Date.now();
var dt = now - lastUpdate;
lastUpdate = now;
update(dt);
render(dt);
}
JSBinは必要ないと思いますが...。 http://jsbin.com/okimam/10
EDIT
:
指摘しなければならないのは
setInterval(tick, 0)
は、必ずしも
tick
はすぐに呼び出され、2回の呼び出しの間は '0ms' の間隔になります。これはブラウザに依存します。
関連
-
[解決済み】TypeError: AngularJSで未定義のプロパティ'get'を読み取れない
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] let "と "var "の使い分けは?
-
[解決済み] CSSでcellpaddingとcellspacingを設定する?
-
[解決済み] JavaScriptのオブジェクトをループスルーまたは列挙するにはどうすればよいですか?
-
[解決済み] callとapplyの違いは何ですか?
-
[解決済み] 画面サイズ、現在のウェブページ、ブラウザウィンドウのサイズを取得する
-
[解決済み] forEachループでasync/awaitを使用する
-
[解決済み] オブジェクトをメンバーとして、プレーンなJavaScriptオブジェクトをループさせる方法
-
[解決済み] React JSX内のループ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Heroku:ノードアプリで「このアプリにはデフォルトの言語が検出されませんでした」エラーがスローされる
-
[解決済み】webpack-dev-serverにリモート接続すると、「Invalid Host header」というメッセージが表示されます。
-
[解決済み】コンソールがUnterminated JSX contentsエラーを投げる【終了しました
-
[解決済み】npm install --legacy-peer-deps は具体的に何をするのですか?どんなときに推奨されるのか/どんな使用例が考えられるのか?
-
[解決済み】Redux TypeError: 未定義のプロパティ 'apply' を読み取れない
-
[解決済み] ローカルファイルを開くことができません - Chrome: ローカルリソースのロードが許可されていません
-
[解決済み】このオブジェクトの "forEach "はなぜ関数でないのですか?
-
[解決済み】Babel NodeJS ES6: SyntaxError: 予期しないトークンのエクスポート
-
[解決済み】SyntaxError: 期待された式が、'<'を得た。
-
[解決済み】Syntax error: JavaScriptの不正なreturnステートメント