如何在发动机中向左或向右移动瓷砖体

时间:2013-09-26 14:04:30

标签: android andengine game-engine

我需要帮助在屏幕控制器上沿左或右方向沿x轴移动一个物体(不是精灵)。 我的playcene课程中有一个位于屏幕中央的播放器,其中两个位于屏幕中央。右控制器按钮。
我的期望是当玩家点击左或右控制器按钮播放器时,身体应该沿X轴移动到某些点,比如-100或-200点。
我使用下面的代码来移动不起作用的身体

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

有人可以帮我吗?

的问候,
迪帕克

1 个答案:

答案 0 :(得分: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: Use of PIXEL_TO_METER_RATIO)。