如果之前已经回答了很多道歉,但我无法找到我想要的东西。
我有一个Box2D动态身体,我应用线性冲动将其变成一个射弹。因此,当我点击屏幕上的任何地方时,我希望将身体投射到触摸位置。我不关心力量,只关注角度。
我已经让我的精灵旋转指向触摸位置,所以我可以检测到初始旋转角度,但是我如何将这个角度转换为45度为“b2Vec2”值,以便我可以在45°时启动身体度?像这样的东西:
float rotationValue = 45.0f;
b2Vec2 vect = ??????
b2Vec2 PointVector = body->GetPosition();
body->ApplyLinearImpulse(vect, PointVector);
非常感谢任何线索。
由于
答案 0 :(得分:6)
叹息 - 这就是为什么你应该在你的Math课程中注意:)
将角度转换为vect非常简单:
float angle = 45.0f;
b2Vec2 vect = b2Vec2(cos(angle), sin(angle));