我需要帮助在屏幕控制器上沿左或右方向沿x轴移动一个物体(不是精灵)。
我的playcene课程中有一个位于屏幕中央的播放器,其中两个位于屏幕中央。右控制器按钮。
我的期望是当玩家点击左或右控制器按钮播放器时,身体应该沿X轴移动到某些点,比如-100或-200点。
我使用下面的代码来移动不起作用的身体
public void turnLeft()
{
body.setTransform(body.getPosition().x-100, body.getPosition().y)
}
有人可以帮我吗?
的问候,
迪帕克
答案 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)。