Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Box2d Javascript中无碰撞的碰撞检测_Javascript_Box2d_Collision - Fatal编程技术网

Box2d Javascript中无碰撞的碰撞检测

Box2d Javascript中无碰撞的碰撞检测,javascript,box2d,collision,Javascript,Box2d,Collision,我正在创建一个赛车游戏,在这里我需要通过Box2dJavaScript在一些粗糙表面上的帮助 我通过以下链接创建了汽车游戏 也制造了障碍 问题: 现在我想要这样的障碍物,不应该和汽车相撞。但当汽车越过那个形状时,汽车就会变慢 所以请帮帮我,怎么做。我找到了IsSensor,但那不起作用。所以,请让我知道如何处理这个问题。啊哈。。。最终从stackoverflow本身得到了解决方案。 给你 我用错了关键字。它是 fixturedef.isSensor = true; 就这样;)为了检测碰撞

我正在创建一个赛车游戏,在这里我需要通过Box2dJavaScript在一些粗糙表面上的帮助

  • 我通过以下链接创建了汽车游戏
  • 也制造了障碍 问题:

  • 现在我想要这样的障碍物,不应该和汽车相撞。但当汽车越过那个形状时,汽车就会变慢

  • 所以请帮帮我,怎么做。我找到了IsSensor,但那不起作用。所以,请让我知道如何处理这个问题。

    啊哈。。。最终从stackoverflow本身得到了解决方案。 给你

    我用错了关键字。它是

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