問題タブ [box2d]

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 投票する
2 に答える
1757 参照

actionscript-3 - Box2D の落下オブジェクトは重心のために回転する必要がありますか?

Box2DAS3 で気球の落下をシミュレートしようとしています。重要なのは、バルーンを横にノックしたり、斜めに落としたりすると、膨らませた底の部分が下に向かって回転するように落下することです。

代替テキスト http://lh4.ggpht.com/_gjsCWAV_CZc/Sw7zqHahTJI/AAAAAAAAC3s/YIJka4AsM5s/s144/Untitled.jpg

ボディの重心をずらしてみました。また、2 つのボディを結合して、タイを表す密度の高いボディを作成しました。どちらの場合も、本体は回転せずに同じ角度で落下します。

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

mouse - Box2d: 慣性遅延のないマウスジョイント

box2d でマウスジョイントを使用してボディをドラッグしていますが、慣性遅延が発生します。

体を瞬時にドラッグする方法はありますか?

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

iphone - box2d: クリック可能/タッチ可能領域を拡大

Cocos2D を使用して iPhone アプリで Box2D を使用しています。マウスジョイントを使用して、オブジェクトをタッチでドラッグしています。touch イベントは、AABB クエリを使用して対応する Box2D 本体を見つけるために処理されます。

Box2D ボディの領域を拡張したいと考えています。このようにして、私は自分の体に触れても反応することができます。

これを行う方法はありますか?ありがとう!

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

actionscript-3 - Box2D Walls - 同じコード: 左のものは機能し、右のものは機能しません

私は単純な Box2D ゲーム ( http://iwanttobeacircle.com ) を作成しています。このゲームでは、三角形として開始し、大きな形状を跳ね返して辺を獲得します。

壁に奇妙なバグがあります...両方とも同じクラスから作成されていますが、左側は機能し、右側は機能しません。正しいものだけを追加すると機能しますが、何らかの理由で両方を追加するとどこかで問題が発生するようです。

WallSegment クラスは以下のとおりです。

レベルを動的に保つために、壁は次のコードを使用して、メイン クラスで毎回プレーヤー オブジェクトのすぐ前に描画されます。

次のエラーが表示されます。

TypeError: エラー #1010: 用語が定義されておらず、プロパティがありません。com.carmstrong.iwanttobeacircle::GameContactListener/Add() で Box2D.Dynamics.Contacts::b2CircleContact/Evaluate() で Box2D.Dynamics.Contacts::b2Contact/Update() で Box2D.Dynamics::b2ContactManager/Collide() Box2D.Dynamics::b2World/Step() で com.carmstrong.iwanttobeacircle::IWantToBeACircle/everyFrame() で

以下に示すように、GameContactListener クラスを参照します (add 関数は一番下にあります)。

考えやアイデアをいただければ幸いです。また、Box2D を初めて使用するので、コードをより効率的にするためのヒントをいただければ幸いです。

前もって感謝します

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

cocos2d-iphone - Cocos2d + Box2d または シマリス

OK、私はここで作ったゲームのiPhoneバージョンを作ろうとしています

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

objective-c - GetBodyCount()はBox2dで常に0を返しますか?

私はcocos2d-iphone+Box2dエンジンを使用していますが、Box2dで簡単な呼び出しを行ってボディを作成しています。

次に、新しくインクリメントされたボディカウント変数を次のように出力しています。

ただし、GetBodyCount()常に0?デバッグしてステップインするとインクリメントしているように、body count変数がインクリメントされていることを知っています。CreateBody(..) m_BodyCountそして、インスペクターは1丁重に戻ります。world->GetBodyCount()単純に実行すると、return m_BodyCountこれが失敗して0を返す可能性があるのか​​わかりません。

誰かが助けてくれることを願っています!乾杯。

私はSVNrevを使用しています。r31

グラハム

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

flash - Box2D in Flash は、デバッグ データを描画すると、そうでない場合よりも高速に実行されます

AS3 用の Box2d を使用して小さなゲームを作成しました。基盤となる Box2d ワールドから位置を取得するスプライトをステージにアタッチしています。これらのスプライトはほとんどが PNG です。

更新ごとに DrawDebugData() を呼び出してゲームを実行すると、問題なくスムーズに実行されます。ただし、これをコメントアウトすると、途切れ途切れに実行されます。どちらの場合も、すべてのスプライトがレンダリングされています。そのため、デバッグ データを追加で描画しているときの方が高速に実行されているようです(つまり、どちらの場合もスプライトが画面上に表示されます!)。

どうしたの?デバッグ データの描画は、ある種の「レンダリング クイック」スイッチをフリックしますか? もしそうなら、スイッチは何ですか!? Box2D コードには表示されません。

興味深いことに、デバッグ描画スケールを自分のワールド スケールとは異なるものに設定すると、19fps まで遅くなります。そのため、スプライトの下にボックスを描画すると何かが発生し、実行が速くなります..

乾杯、

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

xna - Farseer または Box2D? トップダウン シューティング物理の実装

トップダウン シューターに適しているのはどれですか?

Box2D の方が高速であると聞いたことがありますが、XNA に対する広範なコミュニティ サポートが不足していることにも気付きました (理由はわかりませんが、むしろフラッシュに使用されているようです)。

ただし、Farseer は XNA 用に構築されており、XNA に適合し、かなりうまく機能しているようです。私の意見では、Farseer の利点は、API がクリーンで使いやすいことです (また、私のゲームエンジンの構造に完全に適合します)。ただし、使用するといくつかの欠点があるのではないかと心配しています(弾丸と高速ボディ?数がクラッシュするのではなく奇妙ですか?)

全体として、どちらが XNA/PC 開発により適しているかを指摘していただければ幸いです。

これが必要な理由:

  • これは、1 つのトップダウン シューティング ゲームだけで使用されるのではなく、ゲーム フレームワークとの統合を目的としています。
  • トップダウン シューティング ゲームでさえ、より良い衝突と現実的な物理学を備えた環境ではより魅力的になります。たとえば、ボックスを移動してカバーに入ることができますか?
  • ピクセル パーフェクトな方法で衝突を手動で制御するにはコストがかかりすぎます (最適化する時間はありません。また、高度な衝突検出アルゴリズムを備えた高性能物理エンジンが存在する場合は必要ありません)。非現実に。

私は今、あなたの意見で答えるに値しますか? Box2D の代わりに Farseer を使用して間違った手順を行ったのでしょうか? (返事を待っている間に仕事を始めなければなりませんでした。)

前もって感謝します

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

c# - C# XNA Box2d: ApplyImpulse() は驚くべき動作をします

私は体を動かそうとしています:

妙にキーを離した時だけ体が動く。どうしてこれなの?説明書を見ましたがわかりません。

条件を削除して をapplyImpulse()呼び出すとStep()、ロケットは継続的にスラスターのアニメーションを表示しますが、実際には動きません。(ずっと上キーを押していたかのように。)

これを機能させるために本当に必要なのは、最初の引数が何をするかをよりよく理解することですapplyImpulse()

ベクトル内の 2 つの値の意味は何ですか?

更新これははるかにうまく機能します:

力ベクトルの 2 番目の値が負の場合、オブジェクトが画面上で上昇するように見えます。以前は、適用された衝動はそれを床に叩きつけるだけでした。キーを離したときに、インパルスが十分に強かった場合、キーが跳ね返ることがありました。

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

c# - C# XNA Box2d: ラグドールのジョイントはどのようなものですか?

たくさんの体からラグドールを作ろうとしています。どのようなジョイントを接続したいですか? 距離関節?