問題タブ [2d-games]

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 に答える
8891 参照

javascript - HTMLゲームの1つの関数内で複数のifステートメントを実行する

このゲームのこれまでのところ、壁とパドルの衝突をチェックし、アニメーションを実行してボールをリダイレクトすることで応答できるようにしました。しかし、衝突の欠如をチェックすることになると、私は落ち続けます。どちらのステートメントelseelse if機能せず、ステートメントが機能しない場合はセカンダリ(main関数内または個別のイベントとして)。ここではほとんどすべての可能性について説明しましたが、皆さんの1人(あなたがそうであるようにメガディペンデント)がこれを解決するのに役立つことを願っています。

衝突コードの例(個別の関数):

主な機能

Jsfiddle: http: //jsfiddle.net/zbMCC/

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

actionscript-3 - ヒット テスト バウンス

フラッシュ用のバルーン ファイト ゲームのようなものを作ろうとしています。画面の上部に天井があるので、プレイヤーが天井にぶつかると跳ね返るはずです。問題は、それを行う方法がわからないことです。これがコードです。

数字をいじっていました。問題が存在する upBumping 変数では、キャラクターが当たったときに跳ね返るようにしたかったのですが、これは 1 回しか行われません。後は、天井を通り抜けるだけです。おそらく私はこれについて間違った方法で進んでいますか?

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

box2d - box2d では、すべての運動量、角度、位置などを維持しながら、端にボディが取り付けられたジョイントをどのように拡張/縮小できますか?

図を参照してください:

スイング図

box2D では、ピボット アームを青いボックスに取り付けて、ピボット アームを伸縮させる方法を考えています。

青いボックスは、プリズマティック ジョイントを使用して左右に移動し、トラック/レールとして機能するように設定されています。青いボックスが左右に動くと、その勢いでスイングアームがスイングします。私はこれでうまくいきました。

私の問題は、一番下の緑色のボックスをスイング アームの上下に移動する方法を確実に思いつかないことです。プレーヤーが押し上げた場合、下の緑色のボックスがスイング アームを上に移動するようにします。プレーヤーが押し上げるのをやめると、下部の緑色のボックスが停止し、スイング アームに沿っていた場所に残ります。やりたいけどスイングアームの勢いをキープ。

青いボックスと下の緑のボックスの間の線だけをレンダリングするので、伸びたり縮んだりしているように見えます。

プリズマティック ジョイントとディスタンス ジョイントを試しましたが、ジョイントに新しい制限または距離を設定すると、滑らかな動きになりません。関節の剛性が十分ではありません。たとえば、プリズマティック ジョイントを短くするとき、新しいジョイントの長さの最後に下の緑色のボックスを再配置する方法がわかりませんが、以前の運動量と回転を維持したままです。

何か案は?

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

artificial-intelligence - アルファベータ枝刈りのための評価関数の設計

私はチェスのゲームを設計しており、その背後にある AI は、アルファ ベータ プルーニングを使用した検索ツリーを実装しています。ゲームの評価関数の設計に苦労しています。

あらゆる種類のゲームの評価関数を設計するにはどうすればよいでしょうか?

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

algorithm - 2Dレンダリング-島を識別して「ビーチ」を適用するアルゴリズム?

私は2Dゲームプログラミングで遊んでいます。私のおもちゃのプロジェクトは、探索可能な島などを使ったセーリングゲームですが、現時点では、かなり荒れた島に「ビーチ」(つまりソフトエンド)を適用するための最良の方法を見つけようとしています。タイルサイズは64x48です。

ここに画像の説明を入力してください

私の現在の解決策は、各タイルを繰り返し処理して周囲のタイルを探し、その周囲に基づいて、水タイルを正しいテクスチャに置き換えることです。

これは、非常に欠陥のあるアプローチであることに気づきました。

  • 変更の影響を受けたタイルも含め、すべてのタイルに対してサラウンドメソッドが呼び出されるため、非常に非効率的です。
  • 実行の順序は、一部のタイルの変更が上書きされることを意味する場合があります

皆さんは、私がどのように回避してこれをより良い方法で解決できるかについての考えを持っていますか?

ありがとうございました!

編集

このアルゴリズムは、マップがロードされているときに実行されます。

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

c# - XNA で敵がプレイヤーを追跡し、20 ピクセル以内で止まる

敵をプレイヤーに追従させ、20 ピクセル以内で停止させようとしています。Vector2.Lerp(); を含む多くのアルゴリズムを試しました。これを修正しようとする方法ですが、ビルドを壊し続けます。どんな助けでも大歓迎です。コードは以下です。

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

ios - エンドレス ランニング ゲームでプレイヤーの速度を設定するために使用する式は?

私はエンドレス ランニング ゲーム (例: canabalt、temple run、Jetpack Joyride) を作成しており、その「感触」を正しく理解しようとしています。これまでのところ、次の式を使用して速度を設定しています。

試行錯誤以外に、増加を適切に感じるためのヒントはありますか?

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

python - グリッドなしで障害物のマップを構築するNPCAI

いくつかの研究目的のために、私はあなたがプレイヤーによって制御される1つのタンクと1つ以上のNPCタンクを持っている小さなタンクゲームを構築しました。

今、私はこれらのNPC戦車が彼らが知らない分野をナビゲートすることを望みます。特定の範囲内にある場合、障害物を検出できます。それらの障害を検出した場合は、クエリが簡単な特定のデータ構成に保存する必要があります。彼らが移動するときにそれらを考慮に入れることができるように。

今ここで私は立ち往生しています:私のフィールドがグリッドである場合、それは私にとって非常に簡単です、私は障害物がどのタイル/ノードにあるかを保存するだけです。

しかし、私は実際にはグリッドを操作していません。私の戦車は速度に応じて数ピクセル前方に移動するだけなので、戦車は障害物だけでなく、任意のピクセルの組み合わせに配置できます。

今、私はこれをどのように処理しますか?衝突検出は範囲外です。ある種のグリッドまたはウェイポイントを使用することを余儀なくされていますか?

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

java - Java - 画面上の四角形がプレーヤーとともに移動する

障害物がある 2D マップ上に長方形がある 2D Java ゲームを作成しました。長方形との衝突を設定していましたが、機能していませんでした。さらに実験を行った後、すぐに障害物のために作成した長方形がつまり、座標 0, 0 に長方形を設定すると、GUI の左上に残り、プレーヤーを移動すると移動します。常にそこにとどまり、マップに固定されません。

次の変数を設定しています。

私の render メソッドの下には、次のものがあります。

render メソッドの中に入れた場合:

長方形は画面の左上隅にとどまります。これは、変数を使用して長方形を設定し、衝突を作成しようとしたときに発生すると想定しています。これが、衝突が機能しない理由です。全体的な問題は、コードを編集して、長方形をマップに固定し、プレーヤーで動き回らないようにする方法です。