1

我正在尝试在 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); 

任何帮助将不胜感激,因为这已经给我带来了一段时间的麻烦。

4

0 回答 0