javascript の box2D で多角形の頂点を手動で定義しようとしています。最終的にはボックスの各辺のサイズを手動で変更したいのですが、最初に頂点で描画できるようにする必要があります (サイズ変更メカニズムは既にあります)。マニュアルの例を見ましたが、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);
これはしばらくの間私に問題を引き起こしているので、どんな助けも大歓迎です。