Java 平板电脑中的Libgdx坐标系

Java 平板电脑中的Libgdx坐标系,java,libgdx,coordinates,Java,Libgdx,Coordinates,我用我的旧手机(三星Galaxy Ace)测试我的“游戏”,我把它交给了我妈妈,所以我现在用的是平板电脑(三星GT-P7300),但当我触摸屏幕时,坐标出现了问题。我在AndroidManifest中配置为方向的纵向,因此当我测试游戏时,屏幕“向下”(预期行为),但当我触摸屏幕左上角时,我的游戏日志显示反转的位置。也许你会理解这张图片: 点击屏幕时,libgdx使用屏幕坐标(y向下)提供事件的精确像素 如果你想让你的触摸以相机为单位(y向上),你必须取消投射它 Vector3 touch = n

我用我的旧手机(三星Galaxy Ace)测试我的“游戏”,我把它交给了我妈妈,所以我现在用的是平板电脑(三星GT-P7300),但当我触摸屏幕时,坐标出现了问题。我在AndroidManifest中配置为方向的纵向,因此当我测试游戏时,屏幕“向下”(预期行为),但当我触摸屏幕左上角时,我的游戏日志显示反转的位置。也许你会理解这张图片:


点击屏幕时,libgdx使用屏幕坐标(y向下)提供事件的精确像素

如果你想让你的触摸以相机为单位(y向上),你必须取消投射它

Vector3 touch = new Vector3();

@Override
public boolean touchUp(int screenX, int screenY, int pointer, int button){
        camera.unproject(touch.set(screenX, screenY, 0));
        //touch.x and touch.y are your new touch point using camera coordinates.
...

点击屏幕时,libgdx使用屏幕坐标(y-down)提供事件的精确像素

如果你想让你的触摸以相机为单位(y向上),你必须取消投射它

Vector3 touch = new Vector3();

@Override
public boolean touchUp(int screenX, int screenY, int pointer, int button){
        camera.unproject(touch.set(screenX, screenY, 0));
        //touch.x and touch.y are your new touch point using camera coordinates.
...

好的,现在我得到负值。这是正常的吗?这不会影响精灵的位置或其他东西吗?负数是因为你的相机在负x轴和y轴上显示了世界的一部分好吧,现在我接收到负值。这是正常的吗?它不会影响精灵的位置或其他东西吗?负数是因为你的相机在负x轴和y轴上显示了世界的一部分