が地面
ある文字とオブジェクトB、あるオブジェクトAが、そこにあるとし、彼は地面に触れたときに、文字だけ を歩くことができると仮定します。あなたのオブジェクトAを仮定
はb2BodyはObjectAにと呼ばれ、 ObjectBにはObjectBに呼ばれる別b2Bodyであり、あなたの世界がm_worldと呼ばれています。もしobjectB が地面であるなら、私はそれが静的になる0の密度を持っていると思います。 objectAがobjectBの上にあるかどうかを確認するには、box2d単位の測定(1メートル= 30ピクセル)を使用することを意味する本体そのものか、userDataプロパティで設定したカスタムクリップへの参照を使用するかのいずれかを使用します。
2番目の利点は、通常のピクセル単位を使用していることです。中心に登録ポイントが0,0でないことに注意してください。ちょうどあなたがコメントし、再び更新読む
if((objectA.m_userData.y + objectA.m_userData.height*.5) < (objectB.m_userData.y-objectB.m_userData.height*.5)) trace('objectA is above ground');
else trace('objectB is on the ground');
:(あなたがm_world.Stepを呼び出す場合)
だから、あなたの更新のループであなたのようなものを持っているでしょう。
ステージ上の要素からx、y、幅、高さを取得し、box2dコードを生成するフラッシュのjsflコマンドを書き始めました。私はこれを単純なゲームにするために使った: http://www.disturbmedia.com/games/breakfast 他の誰かがすでにかなりの一貫性を持たせているので、私は車輪を再発明する必要はないようだ。
http://www.sideroller.com/wck/
をあなたが必要とするものである、より複雑な形状の定義のための配列を座標生成するようだ:。戻ったばかりのカルロスUlloaが同様BOX2Dについて少し話をして、彼はこの事を指摘しLFPUGからですこれはあなたの特定の質問に対する完全な答えではありませんが、それは忘れられない一歩です。
あなたの説明から、ゲームは本当に面白く聞こえます。更新してください:)
私のフラッシュ内のオブジェクトが常に動いている:P彼らは行動をやり続ける何らかの生命体です..しかし、私は、彼らは地面の上にあるかどうかを知る必要がありますか否か。だから、スリープは地上の検出に役立ちません。あなたの答えをたくさんありがとうtho。 – Unreality
あなたのコメントに基づいて私の回答を編集しました。お役に立てれば。 –
Box2Dはピクセル単位を想定していません。 1ユニット!= 30ピクセル! – Zifre