我以前曾问过这个问题,但是我仍然遇到这个问题!不同尺寸的游戏屏幕 - android
基本上,我在使用画布绘制游戏图像时对像素值进行硬编码。
我该如何去做这个游戏适合任何屏幕尺寸的过程,因为显然一个屏幕的像素值不会在不同的屏幕上正常运行!
在此先感谢
本
我以前曾问过这个问题,但是我仍然遇到这个问题!不同尺寸的游戏屏幕 - android
基本上,我在使用画布绘制游戏图像时对像素值进行硬编码。
我该如何去做这个游戏适合任何屏幕尺寸的过程,因为显然一个屏幕的像素值不会在不同的屏幕上正常运行!
在此先感谢
本
为什么你需要的像素值?使用dp不是px值!
final float scale = getContext().getResources().getDisplayMetrics().density;
int px = (int) (dp * scale + 0.5f);
DP密度独立像素 - 即基于屏幕的 物理密度的抽象单元。这些单位相对于160 dpi(每英寸点数)屏幕,因此无论屏幕密度如何,160dp始终为1英寸。 dp与像素的比率将随屏幕密度而改变,但不一定成正比。在指定布局中的视图尺寸时,您应该使用这些单位,因此UI 可以在不同的 屏幕上正确缩放以呈现相同的实际尺寸。 (编译既接受“浸”和“DP”,虽然“DP”是 与“SP”更加一致。)
我该如何做到画到画布? –
,你应该能够使用以下,以获得屏幕尺寸:
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();
然后决定你认为合适做什么 - 舒展你的原始分辨率,以适应,直接绘制到更大的资源,等等
如果你的画布只是屏幕的一部分,跟踪其相对于左上方的位置并相应地缩放位置/尺寸。
这可能是一个重复的http://stackoverflow.com/questions/7061258/multiple-screen-resolutions-aspect-ratios-games – Phil