2017-03-02 71 views
0

我有一個問題,以獲得不同的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是解釋他在速度上的差異? 我怎麼可能考慮到這一點?

回答

0

here中所述,dp在每個屏幕上的大小不一樣。你可以改變你的單位功能(如in,mm或pt)

0

什麼是不同速度的標準?球移動不同的像素數量或部分顯示?

此標準影響球速選擇的單位大小單位。如果球應該走出屏幕的同一部分,可能是dp是最好的辦法。如果它應該行進相同的物理距離(例如英寸),請使用inpt

相關問題