我有一个问题是在不同的Android设备上获得相同的球速。它是一个带有弹跳球的爆发游戏。我已经在我的galaxy s7上开发了应用程序,但是当我在s3上测试时,球和其他物体的速度提高了大约30%,或者是什么???。
将ballpeed设置为dp的termn并存储为xml资源。 (与球半径相同)
<dimen name="ballSpeed">5dp</dimen>
<dimen name="ballRadius">6.25dp</dimen>
我只是检索存储在资源文件
中的字段float ballSpeed = createGC.getContext().getResources().getDimensionPixelSize(R.dimen.ballSpeed);
然后将ballpeed传递给ball-objects构造函数
那么如何解释速度差异呢? fps是相同的速度,半径以dpi表示。但不知何故,三星Galaxy s3的速度更快。我想这可能与屏幕尺寸有关。
s7 inch: 5.1
s3 inch: 4.8
所以我的问题是:
不同的屏幕显示可以解释他的速度差异吗? 我怎么可能考虑到这一点?
答案 0 :(得分:0)
如here中所述,dp在每个屏幕上都没有相同的尺寸。你可以改变你的单位。(比如in,mm或pt)
答案 1 :(得分:0)
不同速度的标准是什么?球移动不同的像素量或显示部分?
此标准会影响为球速选择的大小单位。如果球应该在屏幕的同一部分,可能dp
是最好的方式。如果它应该移动相同的物理距离(例如英寸),请使用in
或pt
。