b2Body вопросы - PullRequest
       35

b2Body вопросы

0 голосов
/ 18 октября 2011

У меня есть 2 вопроса с b2Body:

  1. В чем разница между b2Body и b2BodyDef?
  2. Как бы я добавил b2Body в CCScene с координатами из CGRect, который яуже закодировали?Кроме того, как мне добавить userData к нему, чтобы я мог сохранить ссылку на это?

Спасибо!

1 Ответ

1 голос
/ 18 октября 2011

A b2BodyDef используется для определения информации о теле в целом, такой как положение и вращение. По сравнению с другой информацией, которая вам требуется для b2Body, такой как трение и повторное позиционирование , которое определяется для каждого прибора с использованием b2Fixtures. b2Body - это объединение определения тела и хотя бы одного приспособления.

Что касается создания тела из предопределенного прямоугольника, я бы посоветовал использовать setAsBox: при условии, что вы используете b2PolygonShape.

Способ, которым я обычно выполняю соединение этих двух, состоит в том, чтобы создать класс с именем BodyNode, который имеет ivars b2Body и CCSprite. Назначьте либо 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.
}
...