Метод 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());