Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.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
Javascript Box2DWeb b2EdgeShape_Javascript_Box2d_Box2dweb - Fatal编程技术网

Javascript Box2DWeb b2EdgeShape

Javascript Box2DWeb b2EdgeShape,javascript,box2d,box2dweb,Javascript,Box2d,Box2dweb,如何制作一个边缘造型?制作一个简单的边缘造型。简单的样板文件b2EdgeShape可在其上构建 我的代码: var bodyDef = new Box2D.Dynamics.b2BodyDef; bodyDef.type = Box2D.Dynamics.b2Body.b2_staticBody; bodyDef.position.SetV(new Box2D.Common.Math.b2Vec2(250/30, 250/30)); var fixtureDef = new Box2D.Dyn

如何制作一个边缘造型?制作一个简单的边缘造型。简单的样板文件b2EdgeShape可在其上构建

我的代码:

var bodyDef = new Box2D.Dynamics.b2BodyDef;
bodyDef.type = Box2D.Dynamics.b2Body.b2_staticBody;
bodyDef.position.SetV(new Box2D.Common.Math.b2Vec2(250/30, 250/30));

var fixtureDef = new Box2D.Dynamics.b2FixtureDef;
fixtureDef.shape = new Box2D.Collision.Shapes.b2EdgeShape(
  new Box2D.Common.Math.b2Vec2(2.5,0), 
  new Box2D.Common.Math.b2Vec2(2.5,2.5));

fixtureDef.density = 0;
fixtureDef.restitution = 0.0;
fixtureDef.friction = 0.0;

var body = world.CreateBody(bodyDef);
var fixture = body.CreateFixture(fixtureDef);

目前还没有办法使用b2EdgeShape。它没有在box2dweb中完全实现

您可以使用b2PolygonShape而不是b2EdgeShape,如下所示:

fixDef.shape = new b2PolygonShape()
fixDef.shape.SetAsEdge(new b2Vec2(x1, y1), new b2Vec2(x2, y2))

谢谢你的回答@Podgorskiy。如果你能用代码笔或js小提琴来做这件事,那就太好了。