如何在不同的屏幕尺寸上实现相同的物理效果?

时间:2019-01-30 21:11:23

标签: java android game-physics screen-size

是否有任何一种优雅的方法来计算速度,大小和距离,以使它们在每种屏幕尺寸上都相同?

我尝试了很多事情,包括比例因子等,但是没有用。屏幕尺寸不再是1920x1080时,所有内容最终都变成了超级怪异的尺寸。

编辑: 我修好了它。现在,我使用屏幕宽度的分数来创建对象。 我将使用的每个硬编码速度分别除以1080 / screenWidth1920 / screenHeight,以使它们在每个屏幕尺寸上都相同。

所以我仍然使用比例因子,但是我使用它们的频率降低了,我认为有时在错误的地方使用它们。

现在的问题是:现在,所有内容都随屏幕宽度缩放了,我如何支持其他比率不是16:9的设备?我试图找出哪一侧更靠近16:9帧,然后使用那一侧正确缩放所有内容,但发现那行不通。游戏如何处理不同的屏幕比例?

1 个答案:

答案 0 :(得分:0)

我现在使用给定height显示器中的16 : >9并计算在屏幕上显示width时的16 : 9,然后我就像计算一切一样那是实际宽度。绘制的所有内容的偏移量均为(actualWidth-wantedWidth)/2f,以使对象居中。如果比率为16 : <9

,则高度也可能相同

因此,简而言之:如果屏幕比例不合适,我可以通过在想要的空间周围放置(黑色或纹理)条来使其适合。