我正在尝试在 box2D 中为 javascript 手动定义多边形的顶点。我最终想手动调整盒子的每一边,但我需要能够先用顶点绘制它(我已经有一个调整大小的机制)。我查看了手册中的示例,但它们是针对 ActionScript 的,它似乎不适用于 javascript。我尝试以不同的方式定义多边形(例如独立多边形 = new 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);
任何帮助将不胜感激,因为这已经给我带来了一段时间的麻烦。