我已经在Node.js服务器中实现了Box2dWeb,除了冲突之外,一切都运行得很好。当两个玩家连接在一起时,他们的身体不会碰撞--只是穿过彼此。这是创建播放器主体的代码:
//World creation
var world = new b2World(new b2Vec2(0, 0));
//Body+Fixture creation
var bodyDef = new b2BodyDef();
bodyDef.type = b2Body.b2_dynamicBody;
bodyDef.position.x = 100;
bodyDef.position.y = 100;
bodyDef.linearDamping = 5;
bodyDef.angularDamping = 1;
var fixDef = new b2FixtureDef();
fixDef.density = 0.001;
fixDef.friction = 1;
fixDef.restitution = 1;
fixDef.shape = new b2CircleShape;
fixDef.shape.SetRadius(8);
var body = world.CreateBody(bodyDef);
body.CreateFixture(fixDef);任何帮助都是非常感谢的!
编辑:我添加了以下代码:
var listener = new Box2D.Dynamics.b2ContactListener;
listener.BeginContact = function(contact) {
console.log(contact.GetFixtureA().GetBody().GetUserData());
}
world.SetContactListener(listener);一旦两个物体发生碰撞,我在控制台中就会得到"null“。
发布于 2015-06-08 02:10:32
好的,这很简单,正如我所期望的那样。我将代码从:
this.world.Step(deltaTime);至
this.world.Step(deltaTime, 10, 10);https://stackoverflow.com/questions/30694917
复制相似问题