3

私はカーレースゲームを作成しています。ここでは、Box2dJavascriptによる粗い表面領域での車のサポートが必要です。

  1. リンク http://www.codekites.com/make-racing-car-box2d-javascript/をたどってカーゲームを作成しました
  2. また、障害物を作成しました。

質問:

  1. 今、私はそのような障害物が欲しいのですが、それは車と衝突してはいけません。しかし、車がその形を超えると、車は遅くなります。

だから私を助けてください、それと一緒に行く方法。IsSensorを見つけましたが、機能していません。だから、これをどうやってやるのか教えてください。

4

1 に答える 1

4

Aahhhh...最後にstackoverflow自体からソリューションを取得しました。ここにあります。

衝突を検出する方法はありますが、box2dでは衝突しませんか?

間違ったキーワードを使用していました。それは

fixturedef.isSensor = true; 

それはそれです;)そして衝突を検出するために私達はこのようにリスナーを書かなければなりません

 world.SetContactListener(listener);
 var listener = new Box2D.Dynamics.b2ContactListener;
 listener.BeginContact = function(contact) {
    // console.log(contact.GetFixtureA().GetBody().GetUserData());
    div = document.getElementById("textUI");
    div.innerHTML = "Come "+contact.GetFixtureA().GetBody();
    defaultCarSpeed = defaultCarSpeed/2;
}

listener.EndContact = function(contact) {
    // console.log(contact.GetFixtureA().GetBody().GetUserData());
    div = document.getElementById("textUI");
    div.innerHTML = "Go "+contact.GetFixtureA().GetBody();
    defaultCarSpeed = defaultCarSpeed*2;
}
于 2013-03-25T15:49:49.603 に答える