Android:动画物体不同速度acrros不同设备

Android:动画物体不同速度acrros不同设备

问题描述:

我有一个问题,以获得不同的android设备相同的球速度。它与弹跳球爆发。我已经在银河系s7上开发了这个应用程序,但是当我在s3上测试它时,球和其他物体的速度要快大约30%,或者什么?Android:动画物体不同速度acrros不同设备

  • 我使用的是surfaceview和帧率为常数,约60fps的
  • 的ballspeed在DP的termns设置并作为XML的资源存储。 (同样的球半径)

    <dimen name="ballSpeed">5dp</dimen> 
    <dimen name="ballRadius">6.25dp</dimen> 
    

我只检索存储在资源文件

float ballSpeed = createGC.getContext().getResources().getDimensionPixelSize(R.dimen.ballSpeed); 

,然后现场传ballspeed到球的对象构造

那么如何速度差可以解释吗? fps是相同的速度和半径以dpi表示。但不知何故,三星Galaxy S3的速度更快。我想这可能与屏幕尺寸有关。

s7 inch: 5.1 
s3 inch: 4.8 

所以我的问题是:

可能不同screensizes是解释他在速度上的差异? 我怎么可能考虑到这一点?

here中所述,dp在每个屏幕上的大小不一样。你可以改变你的单位功能(如in,mm或pt)

什么是不同速度的标准?球移动不同的像素数量或部分显示?

此标准影响球速选择的单位大小单位。如果球应该走出屏幕的同一部分,可能是dp是最好的办法。如果它应该行进相同的物理距离(例如英寸),请使用inpt