ほぼ0の厚さのためのボディとしてライン(エッジ)を設定するbox2d iphone

ほとんど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に含まれています。ほぼ無限の厚さの線を描くことを私に提案することができますか?

0

1 答え

私はcocos2D自体は知らないが、確かに物理学とディスプレイは分離されていると確信している。 cocos2Dがディスプレイを管理する場所を探して、グラフィックカードが細い線を表示できるかどうかを確認したい場合があります(たとえば、シンナーは0.4です)。

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

ちなみに、もしあなたのcocos2DがBox2D 2.2をサポートしていれば、ループの有無にかかわらず、チェーンオブジェクトをエッジの代わりに試すことができます。

0
追加された