2012-01-18 101 views
1

我想要在不同的android設備上獲得類似尺寸的遊戲對象,這意味着不同的屏幕尺寸和分辨率,有沒有什麼辦法可以示例recalcualt例如1cm到像素。如何在差異android屏幕尺寸和分辨率上獲取相同尺寸的遊戲元素

我的意思是重新計算它的屏幕分辨率和大小,並獲得對應於實際大小的像素數。

當我在xml中創建android UI時,我讀到了與設備無關的像素,但它對我來說似乎並不好,因爲我在OpenGL中執行此操作,並且簡單地想重新計算像素的實際大小。

回答

1

使用屏幕dpi可能工作。 This post解釋如何使用DisplayMetrics獲取它。

1
  1. 使用getHeight()和getWidth()方法來獲取遊戲視圖的高度和寬度。
  2. 定義相對於視圖高度和寬度的所有遊戲對象尺寸。

另外,不要在視圖的構造函數中調用getHeight()和getWidth(),因爲尚未創建視圖表面,所以這將返回0。我正在爲我的遊戲使用SurfaceView,並且我正在使用surfaceCreated()方法調用這些方法。

+0

不,這是錯誤的,我將在不同的屏幕直徑上有不同的尺寸 – michael 2012-01-19 09:33:26

+0

「重新計算屏幕分辨率和尺寸,並獲得對應於實際尺寸的像素數量」...如果您試圖讓您的對象大小相對於屏幕大小,這將讓你完全是...... – 2012-01-20 05:57:36