Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在box2d中围绕某个点旋转运动体?_Box2d_Andengine - Fatal编程技术网

在box2d中围绕某个点旋转运动体?

在box2d中围绕某个点旋转运动体?,box2d,andengine,Box2d,Andengine,是否有任何方法可以在不使用body.setTransform()方法的情况下围绕与身体中心不同的点旋转运动学身体?因为当我使用setTransform()时,物理行为变得很奇怪。我使用andengine。它旋转的点会改变吗?如果没有,则可以从主体中心偏移主体的形状。然后,当身体旋转时,它将围绕该点旋转 另一个想法是使用接头。(*如下所示)可以使用圆的x和y坐标的方程式。如果使用下面的示例代码,在场景中的每次触摸都会导致角度减小0.1,这将导致身体围绕点(xCenter,yCenter)旋转,半径

是否有任何方法可以在不使用body.setTransform()方法的情况下围绕与身体中心不同的点旋转运动学身体?因为当我使用setTransform()时,物理行为变得很奇怪。我使用andengine。

它旋转的点会改变吗?如果没有,则可以从主体中心偏移主体的形状。然后,当身体旋转时,它将围绕该点旋转


另一个想法是使用接头。(*如下所示)

可以使用圆的x和y坐标的方程式。如果使用下面的示例代码,在场景中的每次触摸都会导致角度减小0.1,这将导致身体围绕点(xCenteryCenter)旋转,半径为r

private float p2m = PhysicsConstants.PIXEL_TO_METER_RATIO_DEFAULT;

@Override
public boolean onSceneTouchEvent(Scene pScene, TouchEvent pSceneTouchEvent) {

    angle -= 0.1;

    Vector2 vector = Vector2Pool.obtain(xCenter/p2m + (r/p2m) * Math.cos(angle), (yCenter/p2m + (r/p2m) * Math.sin(angle));
    body.setTransform(vector, angle);
    Vector2Pool.recycle(vector);
    return false;
}

关节不会影响运动型身体你可能会更幸运的邀请进来