我正在尝试在box2D中为javascript手动定义多边形的顶点。我最终想要手动调整框的每一边,但我需要能够先用顶点绘制它(我已经有了一个调整大小的机制)。我已经查看了手册中的示例,但它们适用于ActionScript,它似乎不适用于javascript。我试过用不同的方式定义多边形(比如独立的多边形=新的b2Polygon;),但没有区别。
无论我如何定义新的多边形,box2D源都会在调用中抛出一个错误来创建夹具。错误说“tVec未定义”,这是box2D函数中的一个变量:b2PolygonShape.prototype.ComputeAABB = function(aabb,xf)
以下是代码的相关部分(在代码的前面创建了fixDef和bodyDef):
var vertices = [];
vertices[0] = new b2Vec2()
vertices[0].Set(1,1);
vertices[1] = new b2Vec2();
vertices[1].Set(1, 6);
vertices[2] = new b2Vec2();
vertices[2].Set(6, 6);
vertices[3] = new b2Vec2();
vertices[3].Set(6, 1);
fixDef.shape = new b2PolygonShape;
fixDef.shape.Set(vertices, 4);
world.CreateBody(bodyDef).CreateFixture(fixDef);
任何帮助都会非常感激,因为这给我带来了一段时间的麻烦。