【发布时间】:2013-02-15 09:23:38
【问题描述】:
我正在尝试在 libGDX 中正确配置我的 Camera 和 Sprites,以正确显示在 2D 坐标系中,原点位于左下角。
我这样设置我的Camera:
cameraWidth = Gdx.graphics.getWidth();
cameraHeight = Gdx.graphics.getHeight();
camera = new OrthographicCamera(1, cameraHeight/cameraWidth);
我这样设置我的Sprites:
sprite.setOrigin(sprite.getWidth()/2, sprite.getHeight()/2);
sprite.setScale(scale);
sprite.setPosition(startX,startY);
我的问题是sprite.setSize(x,y)。如果我将所有精灵的大小设置为(1, texture aspect ratio),那么所有内容都以正确的显示比例绘制(不被弄脏或拉伸),但没有任何东西绘制在正确的位置。例如,如果我在 (0,0) 处绘制一些东西,它的左下角会离开屏幕左侧并向上绘制多个像素。
我注意到,通过改变比例,我可以让东西在不同的地方绘制——也就是说,如果我将它设置为(1, display aspect ratio),事情看起来非常接近在正确的地方绘制——它们只是从它们的中心绘制,而不是正如 LibGDX 指定的那样,它们的左下角。唯一的问题是图像都显示为模糊或拉伸,这不好。
这似乎是一个简单的问题,我只想知道如何设置它,这样我就可以拥有一个合理的坐标系,在正确的位置以正确的纵横比绘制事物。谢谢。
【问题讨论】:
标签: java 2d libgdx projection