Java缩放像素?

时间:2012-07-02 16:22:58

标签: java android scale pixel

我在Android上做2D游戏,一切正常。问题是角色在我的手机上移动速度非常快(Xperia),但是在屏幕宽得多的手机上,他的速度非常慢。我尝试获取屏幕宽度并除以100并将其设置为步骤,以便角色根据宽度有一个步骤 - 不起作用。 是否有某种方法可以获得某种缩放像素或其他东西。感谢帮助:)

这是我做的人:

DisplayMetrics displaymetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
height = displaymetrics.heightPixels;
width = displaymetrics.widthPixels;

想法?

3 个答案:

答案 0 :(得分:1)

这适合我。

int height = Resources.getSystem().getDisplayMetrics().heightPixels;
int width = Resources.getSystem().getDisplayMetrics().widthPixels;

答案 1 :(得分:0)

将步长乘以displaymetrics.density。这有效地将“px”值转换为“dp”值,即它应该在所有设备上具有相同的物理宽度。

答案 2 :(得分:0)

您希望密度值根据默认值160,它是一个乘数,当您获得高度和宽度(以像素为单位)时,您可以在代码中使用此乘数来正确缩放。

请参阅下面链接的开发者页面的密度部分。

http://developer.android.com/reference/android/util/DisplayMetrics.html#density