什么是Gdx.graphics.getWitdth()?

时间:2014-07-03 05:27:31

标签: android graphics libgdx textures scale

我在Libgdx项目中使用getWidth和getHeight来缩放纹理。这些是什么单位(像素?) 另外,如果我希望纹理在不同的手机上看起来一致,我应该使用getWidth / Height来缩放,还是像width = 100,height = 50这样的数值?

2 个答案:

答案 0 :(得分:0)

是的,getWidthgetHeight都以像素为单位。虽然您可以将这些用于您的尺寸,但通常您希望在手机上获得一致外观的目的是使用某种类型的相机(对于2D游戏,通常为OrthographicCamera)。

您可能想要做的是给相机一些固定的宽度和高度,然后通过相机的转换完成所有绘图。类似的东西:

SpriteBatch batch = new SpriteBatch();
OrthographicCamera camera = new OrthographicCamera(800, 600);
//some code here
batch.setProjectionMatrix(camera.combined);
batch.begin();
//draw your textures here
batch.end();

这样可以保持手机图像的比例一致。请记住,如果拉伸/压缩太多,纹理可能会变形。

答案 1 :(得分:0)

@clearspam23这正是我正在寻找的,谢谢!只是一个注释,设置如下:

OrthographicCamera camera = new OrthographicCamera();
camera.setToOrtho(false, 800, 600);

另一种方式看起来它将相机原点定位在800,600。

再次感谢!