设置一条线(边缘)作为主体,厚度为0 box2d iphone



我正在尝试添加一条线作为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显示它不存在。我包含了box2d参考api。你能不能建议我画一条粗细几乎为零的线?

我不知道cocos2D本身,但我确信物理和显示是分离的。你可能想尝试找到cocos2D管理显示的位置,并验证,如果你的显卡能够显示一条细线(例如。对我来说更薄的是0.4):

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

顺便说一下,如果你的cocos2D支持Box2D 2.2,你可以尝试使用链对象而不是边缘,无论是否启用循环。

最新更新