我以前曾問過這個問題,但是我仍然遇到這個問題!不同尺寸的遊戲屏幕 - android
基本上,我在使用畫布繪製遊戲圖像時對像素值進行硬編碼。
我該如何去做這個遊戲適合任何屏幕尺寸的過程,因爲顯然一個屏幕的像素值不會在不同的屏幕上正常運行!
在此先感謝
本
我以前曾問過這個問題,但是我仍然遇到這個問題!不同尺寸的遊戲屏幕 - android
基本上,我在使用畫布繪製遊戲圖像時對像素值進行硬編碼。
我該如何去做這個遊戲適合任何屏幕尺寸的過程,因爲顯然一個屏幕的像素值不會在不同的屏幕上正常運行!
在此先感謝
本
爲什麼你需要的像素值?使用dp不是px值!
final float scale = getContext().getResources().getDisplayMetrics().density;
int px = (int) (dp * scale + 0.5f);
DP密度獨立像素 - 即基於屏幕的 物理密度的抽象單元。這些單位相對於160 dpi(每英寸點數)屏幕,因此無論屏幕密度如何,160dp始終爲1英寸。 dp與像素的比率將隨屏幕密度而改變,但不一定成正比。在指定佈局中的視圖尺寸時,您應該使用這些單位,因此UI 可以在不同的 屏幕上正確縮放以呈現相同的實際尺寸。 (編譯既接受「浸」和「DP」,雖然「DP」是 與「SP」更加一致。)
我該如何做到畫到畫布? –
,你應該能夠使用以下,以獲得屏幕尺寸:
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();
然後決定你認爲合適做什麼 - 舒展你的原始分辨率,以適應,直接繪製到更大的資源,等等
如果你的畫布只是屏幕的一部分,跟蹤其相對於左上方的位置並相應地縮放位置/尺寸。
這可能是一個重複的http://stackoverflow.com/questions/7061258/multiple-screen-resolutions-aspect-ratios-games – Phil