問題タブ [game-physics]
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.
android - Android AndEngine analogController
私はAndEngineを初めて使用します。
標準のanalogControllerを使用して、水平方向または垂直方向の移動のみを許可できますか?
このコントローラーを使用してX\Y座標でのみ自分のコントローラーを描画できることはわかりませんが、このような水平/垂直コントローラーを作成するための標準機能があるかどうかは興味深いですか?(軸の1つを無視するだけでなく、その上での移動を制限します)
答えのためのThx。
android - AndEngine の手描きの物理オブジェクト
「Chalk Ball は物理エンジンとして andengine と Box2D で開発されている」ことがわかりました。
チョークボールは物理ゲームです。指で線を引くと物理オブジェクトになります。どうすればそのような効果を得ることができますか?カスタム カーブ ラインを作成するには、パーティクル システムを使用する必要がありますか? どうすればそれらを物理オブジェクトのように構築できますか? それとも、多くの点を持つ多角形になりますか?
math - 曲線スプライトの動き COCOS2D
タッチ ドラッグでスプライトの位置を simetric 曲線のように動かそうとしています。これまでのところ、次のコードを使用していますが、うまくいきません
私がシミュレートしようとしている曲線の方法は、y = x ^ 2 の形式です。これは可能ですか?前もって感謝します!
game-physics - 力が違いを生み出しているかどうかを判断する方法
キャラクターの速度に基づいてスピードアップするアニメーション システムを作成するゲームを作成しています。
問題は、これがトレッドミルのインスタンスでは機能しないことです。
トレッドミルほどの速さはありませんが、トレッドミルとキャラクターの間の摩擦の力はあります。
力が違いを生んでいるかどうかを判断しようとしています。オブジェクトに適用されている力、その重量、およびその速度のみを知っている場合、単一の力がその速度に違いをもたらしているかどうかをどのように判断しますか?
math - 反射?どうすればいいのですか?
これは私の頭の上にあります、誰かが私にそれをよりよく説明できますか?http://mathworld.wolfram.com/Reflection.html
私は2Dブレイクアウト格闘ゲームを作成しているので、ボールが壁、パドル、または敵に当たったとき(または敵が当たったとき)にボールが反射できるようにする必要があります。
それらの式はすべて次のようになります:x_1 ^'-x_0 = v-2(v・n ^^)n^^。
そして、私はそれを休むことはできません。('はどういう意味ですか?またはx_0?または^^?)
javascript - プラットフォーマーで2つの長方形の交差を処理する
私はHTML5/Canvas / Javascript/jQueryでシンプルなプラットフォームゲームに取り組んでいます。ここで見ることができます。
私は2つの長方形の交差をチェックする方法を知っています(それに関してここにいくつかの質問があります)、そして私のゲームは2つの長方形の交差をチェックして処理しますが、非常に特定の状況下でのみ、そしてキャラクターが私のブロックより広くはありません。
私の質問:交差がどちらの方向から発生するかがわかる方法で、2つの長方形の交差を計算するにはどうすればよいですか?私が考えることができる唯一の方法には、20以上のifステートメントが含まれます(これは適切な方法ではありませんか?)。
スプライト座標(x + dx、y + dy)が長方形と交差するかどうかを確認するために前方を「覗き見」し、交差する場合は、スプライトの新しい座標を長方形の端だけに設定するため、交差の方向を知る必要があります。次の目盛りの長方形。
opengl - opeglで三角形の中点を取得する方法
私は平面上に三角形を描くコードを持っています。
直角三角形が点 (0,0,-6) から描画されている場合。三角形の中点と頂点を計算したい(円の半径や直径のように)。直角三角形ですか?
box2d - Box 2D - Ground b2EdgeShape を上に移動する方法はありますか
私は iPhone ゲームに取り組んでいます。地面は、画面の下部から約 30 ピクセル上に伸びる長く繰り返される長方形のスプライト オブジェクトです。プレイヤーのスプライトがジャンプから地面に着地すると、地面の画像の上に着地するように、地面のエッジ形状を 30 ピクセルに揃えようとしています。次のコードを追加しようとしたところ、機能しませんでした。
おそらく地面に長方形の形状を使用できることはわかっていますが、プレーヤーのスプライトは画像の上部にしか衝突しないため、エッジの形状を回避したいと思います。
android - Box2D でキャラクター アニメーションを行う最良の方法は何ですか?
Box2D を物理エンジンとして使用して、Android 用の 2D 水中アクション RPG を開発しています。主に、壁、岩、その他の生き物で構成される環境内での衝突検出、衝突応答、およびゲーム内キャラクターの動きです。
Box2D を使用してキャラクター アニメーションを実装するための 2 つの異なるアプローチを試しましたが、どちらにも問題が見つかりました。私は Box2D と物理エンジンに不慣れなので、これらのことをどのように行うのが最善かについての推奨事項をいただければ幸いです。
私がやろうとしているアニメーションの例は次のとおりです。
魚は別の魚を攻撃したいので、次のことを行います:
1) ターゲットに向かって高速で移動します
2) ターゲットの生き物から噛みつきます
3) 向きを変えて逃げ、攻撃が始まった場所に戻ります
4) 向きを変えてターゲットに向かいます,別の攻撃に備える
私が試した2つのアプローチは次のとおりです。
A)攻撃者に ( body.applyForce()を使用して) 力を加えて攻撃者をターゲットに向けて動かし、衝突後に別の力で再び攻撃者を元に戻します
問題:
* 攻撃者は頻繁にターゲットに命中し、跳ね返り、疾走します。すごいスピードで戻ってきて、どこでも壁に跳ね返ります。速度は、ターゲットに影響を与える場所、ターゲットの質量などに応じて、かなりランダムです。アニメーションが壊れて、ひどく見えます.
* 物理世界で特定のアニメーションをシミュレートしてリアルに見せるために、攻撃者にどのような力をいつ適用する必要があるかを理解するのは非常に困難です。
B)攻撃者の位置を ( body.setTransform()を使用して) 直接設定して、攻撃者を正しい位置に移動します。
問題点:
* 位置を直接設定すると、攻撃者は壁や他のクリーチャーとの衝突を無視できるため、壁に引っかかることがよくあります。
* プレイヤーが攻撃している場合、プレイヤーが画面の中央にとどまるように、プレイヤーの移動に合わせてワールドの原点を更新します。これは、アニメーションを開始するときを除いて、画面をアニメーションに追従させたくないため、うまく機能しますが、Box2D の力をオーバーライドしているため、私にはわかりませんが、既存の速度の動きのコンポーネントのみです/位置を設定したときの速度。確かにこれを行うことは可能ですが、難しいです-おそらく何か明らかなものが欠けています。
衝突を監視する必要がありますか? 衝突応答をオーバーライドしますか?? 他の何か?
では、この問題にどのようにアプローチすることをお勧めしますか?
android - Box2Dのlibgdxとの衝突イベントでfalse/NoCollisionを設定するにはどうすればよいですか?
Box2Dを物理エンジンとして使用して、Android用の2D、水中アクションRPGを開発しています。主に、壁、岩、その他の生き物で構成される環境内での衝突検出、衝突応答、ゲーム内キャラクターの移動を目的としています。
私はキャラクターアニメーションを実装しようとしています(Box2Dでキャラクターアニメーションを実行するための最良の方法に従って)。
問題は、衝突が発生したときの衝突応答を抑制したいということです。衝突イベントで「NoCollision」を設定する必要があると言われました。これは、Pre-Solveイベントでb2Contact :: SetEnabled(false)によって設定すると想定しています。ただし、libgdx JNI実装は、ここで説明されているように「別の方法で実行」できるため、インターフェースにpre-solveまたはpost-solveメソッドを実装しません。
誰かが私がこれを他にどのように行うことができるか考えていますか?
私はBox2Dを初めて使用しますが、非常に難しいと感じているので、助けていただければ幸いです。