0
Я реализовал Box2dWeb на сервере Node.js, и все работает отлично, кроме столкновений. Когда есть 2 игрока, связанные с их телами, они не сталкиваются - просто переходите друг к другу. Вот код создания футбольного клуба:Корпуса 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);
Любая помощь очень ценится!
EDIT: Я добавил этот код:
var listener = new Box2D.Dynamics.b2ContactListener;
listener.BeginContact = function(contact) {
console.log(contact.GetFixtureA().GetBody().GetUserData());
}
world.SetContactListener(listener);
и когда тела сталкиваются, я получаю «нуль» в консоли.
Эй рады видеть вас идти вперед с Box2dWeb;), как ты рисуешь тела на экране? – Jackson
В настоящее время я только рисую тела на клиенте, получая body.GetPosition(). – coNNecTT
Это может быть проблема со шкалой? Вы должны убедиться, что при рисовании объектов, на которых вы используете правильное значение шкалы. – Jackson