0

我需要帮助来使用屏幕控制器沿 x 轴向左或向右移动身体(不是精灵)。我的游戏场景类中有一个玩家,它位于屏幕的中心,以及两个左右控制器按钮。
我的期望是当玩家单击左或右控制器按钮玩家时,身体应该沿 X 轴移动到某些点,例如 -100 或 -200 点。
我正在使用下面的代码来移动不起作用的身体

public void turnLeft() 
{
body.setTransform(body.getPosition().x-100, body.getPosition().y)
}

有人可以帮我吗?

问候,
迪帕克

4

1 回答 1

1

如果你想使用 setTransform() ,你应该将它与 vector2 对象一起使用。你的例子是:

private float p2m = PhysicsConstants.PIXEL_TO_METER_RATIO_DEFAULT;

public void turnLeft() {
    body.setTransform(new Vector2((body.getPosition().x-100)/p2m, body.getPosition().y/p2m), 0);
}

您需要除以 p2m = 32 因为 box2d 不是以像素为单位,而是以米为单位(在此处阅读:AndEngine:使用 PIXEL_TO_METER_RATIO)。

于 2013-09-26T15:15:53.633 回答