我试图在不同的 android 设备上拥有相似大小的游戏对象,这意味着不同的屏幕尺寸和分辨率,有什么方法可以重新计算,例如 1 厘米到像素。
我的意思是根据屏幕分辨率和大小重新计算它,并获得与现实生活大小相对应的像素数。
当您在 xml 中创建 android UI 时,我读到了与设备无关的像素,但这对我来说似乎并不好,因为我在 OpenGL 中执行此操作,并且简单想将任何真实生活大小重新计算为像素。
我试图在不同的 android 设备上拥有相似大小的游戏对象,这意味着不同的屏幕尺寸和分辨率,有什么方法可以重新计算,例如 1 厘米到像素。
我的意思是根据屏幕分辨率和大小重新计算它,并获得与现实生活大小相对应的像素数。
当您在 xml 中创建 android UI 时,我读到了与设备无关的像素,但这对我来说似乎并不好,因为我在 OpenGL 中执行此操作,并且简单想将任何真实生活大小重新计算为像素。
此外,不要从 View 的构造函数中调用 getHeight() 和 getWidth(),这将返回 0,因为您的 View 表面尚未创建。我在我的游戏中使用 SurfaceView,我在 surfaceCreated() 方法中调用这些方法。
使用屏幕 dpi 可能会起作用。 这篇文章解释了如何使用 DisplayMetrics 来获取它。