在Box2d中,我想让矩形按照“U”字型,排成“|_|”的样式。但是,我不想只是进行移动的操作,这样,单纯的把它们连接到一起并不能达到我的预期想法。所以,我构建了一个main body,让它处于中间,然后两侧各搭建一个固定装置。具体实现方法如下:
mainBody->CreateFixture(&leftFixtureDef);
mainBody->CreateFixture(&rightFixtureDef);
虽然在mani body两侧添加了固定装置,但是仍然不能确切知道与固定物相关的main body的位置。在固定物上添加一个精灵或者一段代码都没有任何成效,那么,我该如何解决这个问题呢?
答:Andrew
这应该涉及的是shape属性的问题。我没有找到b2CircleShape的正确属性,但是b2CircleShape中有一个m_centroid的参数,它是用来控制与body相关的中心坐标位置的。所以,精确它的数值便可得到shape的准确定位。谈到b2CircleShape,其中有一个setAsBox(w, h)的方法,除此之外,还有一个更复杂的方法:
所以,最好用这种方法,然后再次精确重心位置,所以我会采用如下代码,实现U型结构: