在Box2d Javascript中无碰撞检测

Collision detection without impecting in Box2d Javascript

本文关键字:碰撞检测 Javascript Box2d      更新时间:2023-09-26

我正在创建一个赛车游戏,在那里我需要帮助在汽车在一些粗糙的表面区域的Box2d Javascript。

    我通过以下链接创建了汽车游戏http://www.codekites.com/make-racing-car-box2d-javascript/
  1. 也制造了障碍。

问题:

  1. 现在我想要这样的障碍物,不应该与汽车碰撞。但是当Car超过这个形状时,Car就会变慢。

所以请帮助我,如何去做。我找到了IsSensor,但那不起作用。所以请让我知道,如何处理这个

啊…最后从stackoverflow本身得到了解决方案。

如何在box2d中检测碰撞但不碰撞?

i使用了错误的关键字。它是

fixturedef.isSensor = true; 

that It;)并且为了检测碰撞,我们必须像这样编写侦听器

 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;
}