如何确保Android游戏中每个Android设备的速度相同?

时间:2014-07-24 03:57:11

标签: android scaling

我正在制作游戏,我正在将背景图像移动4px。为此,我使用了480X800的普通mdpi屏幕。我使用这个分辨率设计了游戏。

支持我用于水平速度宽度/ 480的不同分辨率。因此,对于240X400分辨率,背景图像将以2xx速度移动480X800的一半。对于垂直速度也是如此。但出于某种原因,在240X400中它的移动速度比预期的要快。我想以这样的方式设计它,使其他玩家无法获得优势。

注意:我只使用处理和设计来设计它。机器人。屏幕方向 - 风景

1 个答案:

答案 0 :(得分:0)

您应该在DP中修复滚动速度(例如每秒10dp)。然后,您可以使用

读取设备DP
DisplayMetrics metrics = getResources().getDisplayMetrics();
Log.d(LOG_TAG, "density: " + metrics.densityDpi);
int pixelSpeed = (int) (densitySpeed * (metrics.densityDpi / 160));

然后你的像素速度会有所不同,但每个滚动的物理距离会相同。

来自@harvey_slash

的链接中的更多细节