我正在构建一个小型测试游戏,基本上是沃尔多。我有一个大图像,我可以平移并寻找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)
,因此我很难处理图像大小和视口以及已经平移的距离。
答案 0 :(得分:0)
我之前必须解决这个问题,但我做得非常优雅。当我摇摇晃晃的时候,我基本上只有一个日志打印出我当前相机的位置。当我能看到屏幕边缘(下面的空白GL擦拭)时,我写下了相机的位置。
我最终知道如果camera.getX()> sprite.getWidth() - someVal,边缘会出现在屏幕上。所以,我只是在一个方法中添加了一个方法,如果它超过了这些预定义的界限,就会截断相机的任何X / Y值。
这不是一个好的答案,但它也可以让你控制。