Java 使用LibGdx在大图像边框内平移
我正在构建一个小的测试游戏,基本上是waldo在哪里。我有一个大的图像,我可以四处平移,寻找瓦尔多,但我不知道如何将相机保持在精灵边界x,y内。现在,您可以通过图像边界进行平移,然后继续平移,直到永远 相关代码:Java 使用LibGdx在大图像边框内平移,java,libgdx,Java,Libgdx,我正在构建一个小的测试游戏,基本上是waldo在哪里。我有一个大的图像,我可以四处平移,寻找瓦尔多,但我不知道如何将相机保持在精灵边界x,y内。现在,您可以通过图像边界进行平移,然后继续平移,直到永远 相关代码: sprite.setPosition(-sprite.getWidth()/2, -sprite.getHeight()/2); public boolean pan(float x, float y, float deltaX, float deltaY) { ca
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,所以我很难处理图像大小、视口以及平移的距离 我以前不得不解决这个问题,但我做得很不雅观。基本上,我只是有一个日志打印出我的当前相机的位置,因为我左右平移。当我从屏幕边缘看到下面空白的GL擦拭时,我写下了相机的位置。 最后我知道,如果camera.getX>sprite.getWidth-someVal,屏幕上的边缘就会消失。所以,我刚刚添加了一个方法,如果相机超出了这些预定义的边界,那么它会减少相机的任何X/Y值
这不是一个很好的答案,但它也允许你控制。至少你是在试图帮助别人。我认为这实际上可以让我解决它,所以我会接受: