0

我在 cocos2d 中用 box2d 移动我的身体。我只想改变位置。但是,不是角度(不是旋转)。它在移动过程中改变角度。当我用 SetTransform 方法设置时,每次都是相同的角度。

我在 youtube 上捕捉到我的问题: http ://www.youtube.com/watch?v=IQAQtgplLmw&feature=youtu.be

我的代码:

body->SetTransform(myB2Vec2Position, body->GetAngle());

在设置我的身体之前

在此处输入图像描述

** image2: 用 SetTransform 设置我的身体后 **

在此处输入图像描述

像 image2 :它改变了移动时的角度当我使用 SetTransform 方法设置时,每次都使用相同的角度。

在此处输入图像描述


 NSLog(@"MyAngleValue: %f",currentBody->GetAngle());

每次:MyAngleValue:0.000000。通常,我的身体每次都会改变角度。当我调用 SetTransform 方法时,角度是 0.000000。 什么是问题?

谢谢。

4

2 回答 2

0

如果您根本不希望您的身体旋转(从不,无论如何),请将其动量设置为INFINITY。应该这样做(如果您不手动更改角度或角速度)。

于 2012-11-04T12:55:49.933 回答
0

设置正文定义时,请尝试设置此参数:

bodyDef.fixedRotation = true;
于 2012-11-04T12:31:20.900 回答