Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/213.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Gdx.graphics.getWitdth()的度量单位是多少?_Android_Graphics_Libgdx_Textures_Scale - Fatal编程技术网

Android Gdx.graphics.getWitdth()的度量单位是多少?

Android Gdx.graphics.getWitdth()的度量单位是多少?,android,graphics,libgdx,textures,scale,Android,Graphics,Libgdx,Textures,Scale,在我的Libgdx项目中,我经常使用getWidth和getHeight来缩放纹理。这些是什么单位(像素?) 另外,如果我想让纹理在不同的手机上看起来一致,我应该使用getWidth/Height来缩放,还是使用一些数字值,比如width=100,Height=50?是的,并且都是以像素为单位测量的。虽然你可以用这些来测量尺寸,但通常你想要在手机上获得一致的视觉效果的方法是使用某种类型的摄像头(对于2d游戏,通常是一个摄像头) 你可能想做的是给相机一些固定的宽度和高度,然后通过相机的变换完成所有

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

是的,并且都是以像素为单位测量的。虽然你可以用这些来测量尺寸,但通常你想要在手机上获得一致的视觉效果的方法是使用某种类型的摄像头(对于2d游戏,通常是一个摄像头)

你可能想做的是给相机一些固定的宽度和高度,然后通过相机的变换完成所有的绘图。比如:

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();

这将使您的图像在手机上的比例保持一致。请记住,如果拉伸/压缩过多,您的纹理可能会扭曲。

@clearlyspam23这正是我想要的,谢谢!只需一张便条,设置如下:

OrthographicCamera camera = new OrthographicCamera();
camera.setToOrtho(false, 800, 600);
另一种方式看起来像是将相机原点定位在800600


再次感谢

相机会自动伸展以适应整个手机屏幕吗?@henzdaddy是的,相机只是改变了坐标系。摄影机的视口应填满屏幕