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