b2Body问题

时间:2011-10-17 20:23:52

标签: iphone ios cocos2d-iphone box2d

我对b2Body有2个问题:

  1. b2Body和b2BodyDef有什么区别?
  2. 如何将C2Body添加到CCScene中,其坐标来自我已编码的CGRect?另外我如何向其添加userData以便我可以继续引用它?
  3. 谢谢!

1 个答案:

答案 0 :(得分:1)

b2BodyDef用于定义有关身体整体的信息,例如位置和旋转。与b2Body所需的其他信息相比,例如摩擦 resititution ,这是使用b2Fixtures在每个灯具的基础上定义的。 b2Body是一个身体定义和至少一个夹具的合并。

关于从预定义的矩形创建正文,我建议您使用setAsBox:,假设您使用的是b2PolygonShape

我通常完成两者的连接的方法是创建一个名为BodyNode的类,其中包含b2BodyCCSprite的ivars。将BodyNode,即self或精灵分配为userData,并按以下方式更新它们:

-(void) onEnter
{
    [self scheduleUpdate];
    [super onEnter];
}

-(void) update:(ccTime) dt
{
    //Update the position of the sprite to the position of the body
    //Update the rotation of the body to the rotation of the sprite. Take care to note that the rotation of the sprite is in degrees whereas the rotation of the body is in radians.
}