以给定角度移动 b2Body
我有 b2Body,我使用 setTransform 设置角度。但我希望 b2Body 以特定角度移动。我的 CCSprite 使用 ccMoveBy 沿该角度移动。但我的 b2Body 没有随着 CCSprite 一起移动。于是我想到了使用setTransform。我将角度设置为与移动 CCSprite 时相同的值。但 b2Body 仍然移动到其他地方。
我已经使用它了,
b->setTransform(b->getPosition(),30*DEG_TO_RED);
b->setLinearVelocity(b2Vec2(120,180));
非常感谢任何帮助。
谢谢你,。
I have b2Body of which i set angle using setTransform. But I want b2Body to move in particular angle. My CCSprite is moving in that angle using ccMoveBy. But my b2Body is not moving with that CCSprite. So I thought of using setTransform. I set the angle with the same value by which I'm moving CCSprite. But still b2Body moves somewhere else.
I have used it like
b->setTransform(b->getPosition(),30*DEG_TO_RED);
b->setLinearVelocity(b2Vec2(120,180));
Any help is grealy appreciated.
Thank you,.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您想自己移动 b2Body,那么将其设为运动体是一个好主意(您可以每次需要时更改物体的类型)。然后只需设置速度:
If you want to move b2Body by yourself then it is a good idea to make it a kinematic body (you can change body's type every time you want). Then just set the velocity:
这是身体旋转 30 度而不改变其位置。
或者
在这里我更改为 100 X 200Y POSITION
import "CGPointExtension.h"
this is for 30degree rotation of body and not change in its position.
or
here i changed to 100 X 200Y POSITION
import "CGPointExtension.h"