不同尺寸的屏幕游戏- android



我以前问过这个问题,但是我仍然有这个问题的问题!

基本上,当我使用画布为游戏绘制图像时,我是硬编码像素值。

我该如何让这款游戏适合任何屏幕尺寸,因为显然一个屏幕的像素值不能在不同的屏幕上正常运行!

Thanks in advance

为什么需要像素值?使用dp值而不是px值!!

final float scale = getContext().getResources().getDisplayMetrics().density;
int px = (int) (dp * scale + 0.5f);

dp独立于密度的像素-一个抽象的单位,是基于屏幕的物理密度。这些单位是相对于160 dpi(点每英寸)屏幕,所以160dp始终是一英寸,无论屏幕密度。图像像素比会随着屏幕的变化而变化密度,但不一定成正比。你应该使用当在布局中指定视图尺寸时,这些单元,因此UI适当缩放渲染在不同的相同的实际大小屏幕。(编译器同时接受"dip"one_answers"dp",尽管"dp"是更符合"sp")

您应该能够使用以下命令来获取屏幕尺寸:

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth();
int height = display.getHeight();

然后决定怎么做,你认为合适-拉伸你的原始分辨率,以适应,直接绘制到更大的分辨率,等等。

如果你的画布只是屏幕的一部分,请跟踪其相对于左上角的位置,并相应地缩放位置/大小

最新更新