キャラクターであるオブジェクトAと地面であるオブジェクトBがあるとします。
キャラクターが地面に触れたときにのみ歩くことができると仮定します。
オブジェクトAがobjectAと呼ばれるb2Bodyであり、objectBがobjectBと呼ばれる別のb2Bodyであり、ワールドがm_worldと呼ばれると仮定します。objectBが地面である場合、密度は0であり、静的になります。objectAがobjectBの上にあるかどうかを確認する場合は、2つのオプションがあります。本体自体、つまりbox2d単位測定(1メートル= 30ピクセル)を使用するか、userDataプロパティで設定されたカスタムクリップへの参照を使用します。
2番目を使用する利点は、通常のピクセル単位を使用することです。登録ポイントが0,0ではなく中央にあることを念頭に置いてください。
したがって、更新ループ(m_world.Stepを呼び出す)では、次のようになります。
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');
コメントを読んで、もう一度更新してください。
ステージ上の要素からx、y、width、heightを取得するflash用のjsflコマンドを書き始め、box2dコードを生成しました。私はこの単純なゲームを作るためにそれを使用しました:
http :
//www.disturbmedia.com/games/breakfast他の誰かがすでにかなり一貫した何かを作ったので、私は車輪を再発明する必要がないようです。Carlos Ulloaがbox2dについても少し話したLFPUGから戻ったところ、彼はこのことを指摘しました。
http://www.sideroller.com/wck/
必要なものである、より複雑な形状定義の座標配列を生成するようです。ある意味、これはあなたの特定の質問に対する完全な答えではありませんが、それは注意深いステップです。
あなたの説明から、ゲームは本当に面白いように聞こえます。最新情報をお届けします:)