Метод ApplyLinearImpulse

В методе transformPosition мы можем применить угол для конкретного спрайта, как показано ниже;

[sprite transformPosition:ccpAdd(sprite.position,
ccpMult(ccpForAngle(angle), ANY_VELOCITY))];

Можно ли использовать угол и скорость в параметре метода ApplyLinearImpulse и как? Ниже приведено обычное объявление этого метода. Можем ли мы заменить этот b2Vec2(90, 0) на некоторый угол и скорость, как мы использовали выше?

body->ApplyLinearImpulse(b2Vec2(90, 0), body->GetWorldCenter());

1 ответ

Решение

Конечно, вы можете сделать что-то действительно похожее на то, что вы сделали там:

CGPoint angleVector = ccpForAngle(angle);
body->ApplyLinearImpulse(b2Vec2(angleVector.x*ANY_VELOCITY, angleVector.y*ANY_VELOCITY), body->GetWorldCenter());
Другие вопросы по тегам