至於爲Android編寫實時遊戲的一個自然組成部分打交道,我需要能夠支持在Android SDK文檔不同的屏幕分辨率,密度等有不同的屏幕
從primary article ,我知道我應該爲我的遊戲中的每個位圖創建單獨的資源,以適應不同的屏幕密度;但我不太明白如何處理位置,速度等。
該文件說我應該在我的代碼中使用密度獨立單位,無論我使用明確的值。但是,這並不意味着我需要將絕對像素轉換爲密度獨立單位,每次使用,我使用明確的值?
例如,我正在使用高密度800x480顯示器開發遊戲(橫向)。現在,我很滿意每幀移動1個像素的精靈(之後增量時間等)。因此,這將是這樣的:
sprite.setVelocityX(1);
如果我使用密度獨立的單元,如文檔建議,不會我必須做這樣的事情到處,我用一個明確的數字?
sprite.setVelocityX(convert(1));
public float convert(float value)
{
return value * getResources().getDisplayMetrics().density;
}
這種感覺就像我不理解這個正確...
沒有想法,如果這有幫助,但iOS本身用點的概念處理。你用點來定義你的屏幕元素。然後,iOS將這些轉換爲像素。標準屏幕上1pt = 1px。在視網膜顯示屏上1pt = 4px。希望android可以提供這種類型的內置轉換(否則它聽起來像是一個PITA來處理) – 2011-05-12 01:34:22