問題タブ [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 投票する
1 に答える
1938 参照

c# - Box2d: アクティブと非アクティブを設定

Box2d の XNA ポートである Box2dx を使用して、C# で XNA ゲームを作成しています。

木やゾンビなどのエンティティは、ゲームオブジェクトとして表されます。GameObjectManagerそれらをゲームの世界に追加および削除します。

controllersGameObjectControllerインスタンスのコレクションです。

worldState.ModelsGameObjectModelインスタンスのコレクションです。

この方法で Box2d から GameObjects を削除すると、次のメソッドが呼び出されます。

worldQueryUtils:

このメソッドはエラーをスローします。

なぜこうなった?それを避けるために私は何ができますか?このメソッドは、 が呼び出される前に何度も呼び出されていbody.SetActive()ます。これでごちゃごちゃになりそうな気がします。

0 投票する
5 に答える
3367 参照

lua - 物理ゲームプログラミングbox2d-トルクを使用してタレットのようなオブジェクトを方向付ける

これは、 Luaスクリプトでbox2dをカバーするLÖVEエンジンを使用してゲームを実装しようとしたときに発生した問題です。

目的は単純です。砲塔のようなオブジェクト(2D環境で上から見たもの)は、ターゲットを指すように向きを変える必要があります。

タレットはx、y座標上にあり、ターゲットはtx、ty上にあります。x、yは固定されていると考えることができますが、tx、tyは瞬間ごとに変化する傾向があります(つまり、マウスカーソルになります)。

タレットにはローターがあり、時計回りまたは反時計回りの任意の瞬間に回転力(トルク)を加えることができます。その力の大きさには、maxTorqueと呼ばれる上限があります。

タレットには一定の回転慣性もあり、質量が線形運動に作用するのと同じように角運動に作用します。いかなる種類の摩擦もないので、角速度があれば砲塔は回転し続けます。

タレットには小さなAI機能があり、その向きを再評価して正しい方向を指していることを確認し、ローテーターをアクティブにします。これはdtごとに発生します(1秒あたり約60回)。今はこんな感じです:

...失敗します。2つの実例となる状況で説明させてください。

  • タレットはtargetAngleの周りで「振動」します。
  • ターゲットが「タレットのすぐ後ろ、時計回りに少しだけ」の場合、タレットは時計回りのトルクを適用し始め、ターゲットの角度を超える瞬間までそれらを適用し続けます。その瞬間、それは反対方向にトルクを加え始めます。しかし、それはかなりの角速度を獲得しているので、しばらくの間時計回りに進み続けます...ターゲットが「すぐ後ろですが、少し反時計回り」になるまで。そして、それは再び始まります。そのため、砲塔は振動するか、丸い円を描くことさえあります。

私の砲塔は、目標角度に達する前に「最短経路の反対方向」にトルクを加え始める必要があると思います(停止する前に車がブレーキをかけるように)。

直感的には、砲塔は「目標目標のほぼ半分になったら、最短経路の反対方向にトルクをかけ始める」べきだと思います。私の直感は、それが角速度と関係があることを教えてくれます。そして、ターゲットがモバイルであるという事実があります-どういうわけかそれを考慮に入れるべきか、それとも単に無視するべきかはわかりません。

タレットが「ブレーキをかけ始める」必要がある時期を計算するにはどうすればよいですか?

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

cocos2d-iphone - Box2d + CoCos2d: オブジェクトを自動的に移動して、ゲーム内のコンピューターの動きをシミュレートする

私はホッケー ゲームに取り組んでおり、シングル プレイヤー モードを実装しています。「コンピューター」のパドルをオフェンス モードで動かそうとしています (ボールに向かって移動します)。CoCos2d と Box2d を使用しています。MouseJointsを使ってパドルを動かしています。問題は、パドルがまったく動かないことです。

tick は init メソッドで呼び出されます

...

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

c++ - 2D エンジンに Box2D 衝突検出のみを統合するのですか?

エンジンに box2d を統合し (Debug Draw など)、いくつかの 2D 正方形/長方形などを投入できる世界を使用しています。

ユーザーが基本的に衝突検出にワールドを使用していないこの投稿を見ましたが、ユーザーはマニホールド (b2Manifold) などをどのように使用しているかについては何も説明していません。

別の投稿は、cocos2d フォーラムにあります (3 番目の返信でユーザー Lam までスクロールします)。

誰かがこれについて少し助けてくれますか?、基本的には b2World などを使用せずに衝突検出を追加したい.

どうもありがとう!

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

c++ - Problem Building dschaefer / android-box2d

I'm trying to build dschaefer android-box2d, and did follow the recipe. I do get this error when trying to build the TestBox2d with eclipse:


make all /cygdrive/c/android/android-ndk-r3/build/prebuilt/windows/arm-eabi-4.2.1/bin/arm-eabi-ld \ -nostdlib -shared -Bsymbolic --no-undefined \ -o obj/libtest.so obj/test.o -L../box2d/lib/android -lbox2d \ -L/cygdrive/c/android/android-ndk-r3/build/platforms/android-3/arch-arm/usr/lib \ -llog -lc -lstdc++ -lm \ /cygdrive/c/android/android-ndk-r3/build/prebuilt/windows/arm-eabi-4.2.1/lib/gcc/arm-eabi/4.2.1/interwork/libgcc.a \

/cygdrive/c/android/android-ndk-r3/build/prebuilt/windows/arm-eabi-4.2.1/bin/arm-eabi-ld: cannot find -lbox2d make: *** [obj/libtest.so] Error 1


The only thing I did change was in the TestBox2d\Makefile where i did change the path to the NDK.

There are some other that have the same problem HERE but I do not know how to fix it.

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

box2d - Box2D SetAsOrientedBox

Box2Dのコマンド「SetAsOrientedBox」は機能しなくなりました。そのための新しいコマンドを見つけることができませんでした。誰かが新しいコマンドを教えてもらえますか?

古い例:boxDef.SetAsOrientedBox(0.4、0.1、new b2Vec(0.1、0.1)、0.3);

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

iphone - f->SetSensor() を 2 ~ 3 回変更することは可能ですか?

私は cocos2d-iphone-0.99.2 を使用し、box2d に統合しました。タグ 1 と 2 を持つ 2 種類のスプライトがあります。また、それらのボディと形状の定義を作成しました。私がやろうとしているのは、スプライト 1 の種類をソリッドとして機能させるか、スプライト 2 がそれらと衝突したときに非ソリッドとして機能させることです。私はこのコードを試しました:

solid は bool です。初めてフィクスチャをセンサーに変更したときはすべて問題ありませんが、元に戻して再度ソリッドに変更しようとすると、次のエラーでアプリがクラッシュします: アサーションに失敗しました: (manifold->pointCount > 0), function b2ContactSolver, file /Documents /myapp/libs/Box2D/Dynamics/Contacts/b2ContactSolver.cpp、58 行目。

どういうわけかフィクスチャ-> SetSensor を数回変更することは可能ですか?どんな助けでも大歓迎です。

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

2d - Box2Dでビリヤードを作成し、ボールが壁に詰まらないようにするにはどうすればよいですか?

簡単な概要として:私はBox2Dをベースとしてプールのゲームを作ろうとしています。今私の質問:

ビリヤードボールとエッジを正常に動作するように設定するにはどうすればよいですか?明らかな理由もなく、ボールがエッジにくっついているように見えることがあります。テーブルの端の周りに1の反発力を持つ4つの静的な壁オブジェクトがあります。

各ボールには次のプロパティがあります。

キューボールの密度は101.356358(kg / m ^ 2)です。

1.2 kg-m / sのキューにインパルスを加えると、ボールは通常のビリヤードボールの速度で動いているように見え、壁にほぼ正しく跳ね返ります。ただし、ボールが壁に当たったときに、ボールがまったく跳ね返らない、停止する、または壁に沿って移動し続ける場合があります。これは奇妙に見え、正しくないようです。これを設定するためのより良い方法はありますか?

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

iphone - iPhoneのbox2dで弧を描く方法

こんにちは、iPhone の box2d で曲線または凹型の形状を実現する方法を探しています。

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

iphone - cocos2d and box2d .. creating map and worlds

So my question is really about creating different levels in my game. I am using cocos2d and box2d and right now I have a lot of code that actually constructs my world and I can't do pane or stuff like that coz honestly i don't know how..

So any tips and pointers for beginner to create world with static object and then I can add my own sprite to that world and move around with box2d?