我正在使用 Libgdx 绘制 2d 场景。在绘图之前,我这样做:
batch.setProjectionMatrix(camera.combined);
正如预期的那样,(0,0) 坐标不再位于屏幕的左下角,而是位于屏幕的中间。
正确定位整个场景的更优雅的解决方案是什么:
1)相应地平移/定位相机以显示屏幕上的所有内容。
2) 绘制所有内容,同时记住 (0,0) 现在位于中间,如下所示:
batch.draw(background, -background.getRegionWidth()/2, -background.getRegionHeight()/2);
请注意,我实际上是在进行视差滚动,并且第一个选项像预期的那样稍微布置了我的中间层对象。所以如果这个问题没有好的解决方案,那么我更倾向于第二种选择。