使用LibGdx在大图像边框内平移

时间:2015-04-15 12:44:40

标签: java libgdx

我正在构建一个小型测试游戏,基本上是沃尔多。我有一个大图像,我可以平移并寻找Waldo,但我无法弄清楚如何将相机保持在精灵边框(x,y)。现在,您可以平移过图像边框,并永远打开和打开。

相关代码:

sprite.setPosition(-sprite.getWidth()/2, -sprite.getHeight()/2);

public boolean pan(float x, float y, float deltaX, float deltaY) {
        camera.translate(-deltaX * PAN_SPEED, deltaY * PAN_SPEED);
        camera.update();
        return true;
    }

还有很多,我已经尝试了很多东西,但问题是我无法弄清楚如何获得我已经淘汰的距离,如果我要去,我需要这样做建立边界"。现在sprite.getX() == -2200)和相机视口只有(480x800),因此我很难处理图像大小和视口以及已经平移的距离。

1 个答案:

答案 0 :(得分:0)

我之前必须解决这个问题,但我做得非常优雅。当我摇摇晃晃的时候,我基本上只有一个日志打印出我当前相机的位置。当我能看到屏幕边缘(下面的空白GL擦拭)时,我写下了相机的位置。

我最终知道如果camera.getX()> sprite.getWidth() - someVal,边缘会出现在屏幕上。所以,我只是在一个方法中添加了一个方法,如果它超过了这些预定义的界限,就会截断相机的任何X / Y值。

这不是一个好的答案,但它也可以让你控制。