2012-04-28 21 views
1

所以我想爲android編寫一個遊戲,並且我有幾個關於android開發的'最佳實踐'的問題。我正在寫的遊戲在屏幕的頂部會有一些骰子,用戶應該可以拖動它,在屏幕的下半部分,我需要顯示不同數字的列表,並更新爲骰子被放到一個新的位置。那麼,解決這個問題的最好方法是什麼?我已經使用單個視圖編寫了一些示例代碼(其工作原理),並繪製了骰子位圖和數字,但一切都如此依賴於分辨率,以至於使我感到困惑。我可以通過切換到一個xml定義的視圖並添加一個骰子視圖和一個數字列表視圖並分別繪製它們來獲得任何東西嗎?有沒有我應該遵循的標準或最佳做法?Android遊戲開發 - 使用單一視圖的一切?

感謝

回答

0

這是一個很好的做法在xml文件中定義一個佈局,使您的應用程序在不同屏幕尺寸上運行..

更多關於爲什麼你應該使用XML文件,請參考Android Design Guidelines

當使用xml文件時,請使用dp代表文本大小的尺寸,sp代表文本大小,如有可能,也可使用wrap_contentmatch_parent

您還可以在代碼中製作與密度無關的像素。請參閱本..

public float typedDimension(int a){ 
     return TypedValue.applyDimension(
        TypedValue.COMPLEX_UNIT_DIP, (float) a, 
        getResources().getDisplayMetrics()); 
    } 
0

首先,SurfaceView是遊戲開發的一個不錯的選擇 - 它會給你更好的性能比標準視圖。

其次,我見過的一個很好的技術是寫入標準大小的離屏表面,然後將該位圖縮放到屏幕大小。當你有不同尺寸的屏幕時,所有東西都會在正確的位置。請注意,您應該縮小而不是放大,因此您可能需要使用不同大小的圖像(對於mdpi,hdpi,xhdpi),以避免在較低設備上使用太多內存。