問題タブ [game-loop]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
387 参照

c++ - DARK gdk、スプライトをカバーする背景?

3はスプライトを覆う背景です。ゲームループでは、これが発生します

そして基本的に最初の行は次の2つで何が起こるかをカバーしています!移動する背景の上に表示するには、ID1のスプライトが必要です。

ありがとうございました

0 投票する
3 に答える
2386 参照

java - 空のゲームで FPS を計算する方法は?

ゲーム ループを作成するには、この優れたチュートリアルに従いました。しかし、次の FPS の表示に関するチュートリアルは少しわかりにくいと思ったので、1 人で行ってみました。私はtrackFps()自分が作成した方法にかなりの自信を持っています。フレーム間の時間差を計算した後に呼び出され、実行するたびに予測 FPS を測定し、それらの予測 FPS 値を に保存し、ArrayList1 秒が経過すると、予測 FPS を合計し、追加された値の数で割って平均 FPS を取得します。

デバッガーで実行すると正常に機能しますが、通常どおり実行すると、次の例外が発生します。

それはかなり説明的で、この行で発生しますfps += fpsStore.get(fpsTrackCount-1);fpsTrackCountしかし、 Variable がどのように 26 まで高くなるかはわかりませんArrayList fpsStore

誰かが私のGameLoopクラス、特にtrackFps()一番下のメソッドを調べますか? まるごとお届けします。多くのコメントがありますが、それほど多くはなく、一部の人にとっては非常によく知られているはずです.

GameLoop(trackFps()下部に FPS の計算方法が含まれています):

0 投票する
1 に答える
99 参照

ios - cocos2dのループとボタンを更新します

私は簡単な月着陸船ゲームを持っています。私は積分によって位置とすべてを計算します。たとえば、各ターンでベクトルを取得して結合し、結果のベクトルを着陸船に適用します。

ここに質問があります。推力に使用したいボタンがあります。更新メソッド中にオンになっているかどうかを確認するにはどうすればよいですか?ボタンを押すとYESに設定されるBOOLフラグがあると思いますが、いつNOに設定しますか?いくつかの実用的な実装は素晴らしいでしょう。私はcocos2d-iphoneとiOSを使用しています。

0 投票する
1 に答える
1352 参照

java - ゲームの再開

TicTacToe の簡単なゲームを作成していますが、ゲームが終了するたびに再起動ボタンをクリックすると、ゲームを再起動するのに行き詰まりました。最初の水平ボタンを作成しました。それらを押すと、ウィンドウがポップアップし、勝者がいることがわかります。テスト用にやっただけです。しかし、再起動を押したときにゲームを再起動するにはどうすればよいですか?私はJavaが初めてで、改善するために自分でゲームを作ろうとしています。ここに私のコードのいくつかの部分があります:

0 投票する
1 に答える
668 参照

c++ - GDIウィンドウのゲームループ/更新されず、しばらくするとクラッシュする

これは、通常のウィンドウでの現在のゲームループです。

...しかし、実際にDrawGameをTranslateとDispatchMessageの間に配置する必要がありますか?DrawGameをUpdateGameの上/下に置くと、何も描画されません。

そしてしばらくして、単純な長方形を描くと、それらは互いに重なり始めます。約1分間正常に動作し、長方形のグリッドを描画します(設定したウィンドウサイズがウィンドウの正しいサイズではないため、位置がずれています。しばらくすると、別のグリッドが描画され、場合によっては完全にねじれてしまいます。ウィンドウがクラッシュしたようです。VisualStudioで「停止」ボタンを押す必要があります。

では、ゲームループを正確にどこに配置し、いつゲームを描画するかをどのように知ることができますか?私は主に長方形を描く必要がありますが、それもあまりうまくいきません。

0 投票する
1 に答える
295 参照

html5-canvas - HTML5 キャンバス ゲーム setTimeInterval 複数オブジェクトの作成が困難

初めて HTML5 キャンバス ゲームを作成しています。タワー ディフェンス ゲームなので、基本的にパスを使用して飛んでくる「敵」クラスの敵オブジェクトの配列があります。次に、クラス「タワー」のタワーオブジェクトの配列もあり、それらが近づくとそれらを殺します。

これらの複数の敵の移動とタワーからの発砲の両方の操作で、以下のように setInterval を使用して状態を変更し、それぞれのクラスのインスタンスで set intervall を使用して、互いに独立してアニメーションを発火しています。_thatTower.attackInterval = setInterval(function () ...発火コードをここに... },50);

私が直面している問題は、これらの setIntervals が他のインスタンスと混同する傾向があり、ほとんどの場合、一緒に結合して、すべての敵の応答を 1 つとして再生しますが、独立していません..

これらを独立して動作させたい。私はこれについて2つの見解を持っています - 1.私が使用していない同じクラスの異なるインスタンスに対してsetintetvalを使用するより良い方法があります。2.または、これらの場所で setinterval を使用するのは適切ではない可能性があります..私のキャンバスの場合のように、多くのものを個別に移動する方法を教えてください??

前もって感謝します

0 投票する
1 に答える
175 参照

c# - 「更新」が呼び出された後の XNA ゲーム スタック オーバーフロー エラー

みなさん、良い一日を、

適切なプラットフォームで Mono および XNA フレームワークを利用して、Android、iOS、および Windows Phone 7 を対象とするクロスプラットフォーム フレームワーク/抽象化レイヤーを構築してきました。ExEn、MonoGame、または同様のフレームワークは使用していませんが、それらのアプローチを研究して多くのことを学びました。

フレームワークの XNA 部分は XNA Game クラスを拡張します。私は、ここで問題が発生することを確信しています。しかし、私はそれを追跡するのに苦労しています.XNA Gameクラスの知識が豊富な人が大いに役立つかもしれません. クラスの継承階層全体のコードは掲載しません。スペースが必要になるためです。代わりに、XNA Game クラスの問題の可能性のある原因に関する情報を要求します。これにより、エラーが見つかる可能性があります。 .

テスト ゲームを実行すると、スタック オーバーフロー例外が発生します。完全な例外は次のとおりです。

犯人を追跡するために、いくつかの簡単なデバッグ ステートメントをコンソールに出力しています。私が得ている出力は次のとおりです。

ご覧のとおり、更新は正常に完了していますが、BeginDraw にも EndRun にも進んでいません。スタック オーバーフローの例外を引き起こすために、その時点でどのプロセスが実行されているかを特定できませんでした。

この時点で発生している可能性のあるプロセスを特定するのに誰かの助けがあれば、問題の原因を突き止めるのに間違いなく役立ちます。コードを調べるのがより快適である場合は、私はそれを提供できますが、より多くの情報で問題を特定できると信じており、問題を理解するために必要なコードベースが非常に大きくなる可能性があるため、そうすることをためらっています.

お時間を割いてご協力いただきありがとうございます。役立つ情報をさらに提供できるかどうかお知らせください。

0 投票する
2 に答える
4563 参照

android - ボタンが押されるのを待つためにループを一時停止する方法

Android用の1v1バトルを使用してターンベースのゲームを作成しようとしています。私の基本的なゲーム ループは、2 人のファイターが死んでいるかどうかをチェックし、そうでない場合は次に誰が行くかをチェックします。プレイヤーの番の場合は、攻撃ボタンがクリックされるのを待つ必要があります。コンピューターの番である場合、ランダムな攻撃を実行します。プログラムがユーザー入力を待機するのに問題があります。ここでボタンリスナーを設定しようとしましたが、うまくいきません。[編集] どのキャラクターが移動するかの決定は、回復整数に基づいています。各攻撃には回復値 (50 ~ 100) があり、キャラクターの回復に追加されます。nextMove() メソッドはどちらが 0 に近いかをチェックし、両方の文字から差を引きます。これにより、ゲームはより多くの戦略を必要とすることができます。

その時点でゲームを一時停止するにはどうすればよいですか

これがコードです

0 投票する
2 に答える
2178 参照

python - pygameでサークルを画面から飛ばすにはどうすればよいですか?

私はPythonの初心者で、サークルゲームを作ろうとしています。これまでのところ、クリックするとランダムな色と半径でマウスに円が描かれます。

次に、円が画面からランダムな方向に飛んでいきたいと思います。どうすればこれを行うことができますか?これは、これまでの私のコードの主要なチャンクです。

繰り返しますが、円が画面からランダムな方向に飛んでいきたいと思います。私はいくつかの試みをしましたが、まだ成功していません。また、私を助けてくれたjdiに感謝します

0 投票する
1 に答える
222 参照

c++ - 複数のオブジェクトのコールバックがあるゲーム ループ - 2 番目のオブジェクトで何も起こらない

同じ基本クラスから継承された 2 つのクラスがあります。これはゲーム ループ用であり、現在の「状態」に応じて、CALLBACK メソッドでアクティブ オブジェクトへのポインターを送信する必要がありますが、そうではありません。2 番目のオブジェクトのポインターのみを送信します。

最初に PostMessage() を介して ObjectA を設定し、次に ObjectB を設定すると、ObjectB が機能しなくなり、そのオブジェクトへのポインターが取得されません。

逆に設定すると、ObjectB は機能しますが、ObjectA は機能しません。

これはループの一般的なレイアウトです: (何が欠けているのでしょうか?)

ゲームループ:

コールバック メソッドで: