【问题标题】:Android: animated object different speed acrros differen devicesAndroid:不同设备上的动画对象速度不同
【发布时间】:2017-03-02 14:18:47
【问题描述】:

我无法在不同的 Android 设备上获得相同的球速。它是一个带有弹跳球的爆发游戏。我在我的 Galaxy s7 上开发了这个应用程序,但是在我的 s3 上测试它时,球和其他物体的速度大约快了 30%,或者什么???。

  • 我使用的是表面视图,帧速率恒定,约为 60fps
  • 球速以 dp 为单位设置并存储为 xml 资源。 (与球半径相同)

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

我只是检索存储在资源文件中的字段

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

然后将球速传递给球对象构造函数

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

s7 inch: 5.1
s3 inch: 4.8

所以我的问题是:

不同的屏幕尺寸是否可以解释速度差异? 我怎么可能考虑到这一点?

【问题讨论】:

    标签: android performance android-animation dpi


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      此标准会影响为球速选择的尺寸单位。如果球应该穿过屏幕的同​​一部分,可能是dp 是最好的方式。如果它应该行进相同的物理距离(例如英寸),请使用 inpt

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-09-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-02
        • 1970-01-01
        相关资源
        最近更新 更多