0

ほぼ 0 または 1 ピクセルの太さの box2d ボディとして線を追加しようとしています。setasedge、setasbox などの多くのメソッドを使用しようとしましたが、取得できませんでした。

    groundBox.SetAsEdge(b2Vec2([self x:256],[self y:0]), b2Vec2([self x:256],[self y:64]));

    //groundBox.SetAsBox(0.01, 1.11, b2Vec2([self x:256],[self y:0]), 0.1);

    groundBody->CreateFixture(&groundBox,0.1f);

b2EdgeShape の場合、存在しないことが示されています。box2d 参照 API にあるように含めました。ほぼゼロの太さの線を描くアイデアを教えてください。

4

1 に答える 1

0

cocos2D自体はわかりませんが、物理と表示が切り離されているのは確かです。cocos2D がディスプレイを管理する場所を見つけて、グラフィック カードが細い線を表示できるかどうかを確認してみてください (たとえば、私の場合は 0.4 です)。

GLfloat lWidth[2];
glGetFloatv(GL_LINE_WIDTH_RANGE, lWidth);

ちなみに、cocos2D が Box2D 2.2 をサポートしている場合は、ループを有効または無効にして、エッジの代わりにチェーン オブジェクトを試すことができます。

于 2011-12-19T22:59:19.773 に答える