我正在创建一个赛车游戏,我需要通过 Box2d Javascript 在一些粗糙的表面区域获得帮助。
- 我通过以下链接创建了汽车游戏 http://www.codekites.com/make-racing-car-box2d-javascript/
- 也制造了障碍。
问题:
- 现在我想要这样的障碍物,它不应该与汽车相撞。但是当 Car 越过那个形状时,Car 就会变慢。
所以请帮助我,如何处理它。我找到了 IsSensor,但它不起作用。所以请让我知道如何处理。
最佳答案
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;
}
关于javascript - 不影响 Box2d Javascript 的碰撞检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15615700/