Установить линию (край) в качестве тела для почти 0 толщины box2d iphone - PullRequest
0 голосов
/ 19 декабря 2011

Я пытаюсь добавить строку в качестве тела box2d для толщины почти 0 или 1 пикселя. Я пытался использовать множество методов, таких как 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 показывает, что он не существует. Я включил, как найти в справочнике API box2d.Не могли бы вы предложить мне идею нарисовать линию с почти нулевой толщиной.

1 Ответ

0 голосов
/ 20 декабря 2011

Я сам не знаю cocos2D, но уверен, физика и дисплей диссоциированы .Вы можете попытаться найти, где cocos2D управляет дисплеем, и проверить , если ваша графическая карта способна отображать тонкую линию (например, для меня тоньше 0,4):

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

Кстати, если ваш cocos2D поддерживает Box2D 2.2, вы можете попробовать цепной объект вместо ребра, с включенным циклом или нет.

...