【问题标题】:Collision detection without impecting in Box2d Javascript碰撞检测不影响 Box2d Javascript
【发布时间】:2013-03-14 23:41:18
【问题描述】:

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

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

问题:

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

所以请帮助我,如何去做。我找到了 IsSensor,但这不起作用。所以请告诉我,如何处理。

【问题讨论】:

    标签: javascript box2d collision


    【解决方案1】:

    Aahhhh ...终于从stackoverflow本身获得了解决方案。 在这里。

    How to detect collision but do not collide in 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;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-19
      • 2015-03-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多