簡體   English   中英

處理基於像素的Android游戲的不同分辨率

[英]Dealing with different resolutions for pixel based android game

我正在為android平台開發2D平台游戲,所以我並不是很在乎屏幕DPI,而是更多地關注像素的實際分辨率。 根據我在網上收集到的信息,目前存在幾種不同的分辨率(和縱橫比)。 根據我的搜索,當前廣泛使用的兩種分辨率是480x320(1.5)和800x480(1.666),對嗎? 我想將這兩種分辨率作為目標,以覆蓋大多數客戶。 現在,我可以通過為較大的顯示器顯示40像素的黑色邊框來處理不同的寬高比,然后將其本質上減少為720x480像素和1.5的比例。

我的游戲的問題在於,對於游戲而言,玩家在每個屏幕上看到相同數量的世界至關重要。 否則,某些玩家將獲得不公平的優勢。 此外,我會根據可見性觸發一些事件。 例如,只有在玩家開始看到敵人時,才允許它開始射擊。 否則,敵人的子彈似乎無處可去。

因此,我認為我需要為一種分辨率創建圖形,然后為另一種分辨率縮放圖形。 或者我為每種分辨率創建單獨的圖形。 那正確嗎? 不幸的是,這兩種方法對於像素圖形都不理想。

另外請注意:如何將我的游戲僅限制為這些分辨率(尤其是對於Android Market)? 我知道清單中的“ supports-screens”標簽,但這取決於有效的屏幕尺寸,而不是像素尺寸,還是我弄錯了? 對於分辨率獨立性,我也對其他Android游戲開發人員的個人經歷感興趣。

謝謝!

我的問題是:您認為在PC上會做什么? 對於游戲開發,應該將Android視為更像PC目標而不是控制台。 您只需要從本質上接受這樣一個屏幕的多樣性,即您無法完全預先預測。

因此,我認為可以采用兩種主要方法:

(1)使用恆定的“顯示尺寸”,就像在PC上設置固定的視頻分辨率並讓用戶的顯示器處理它一樣。 當然,在這些設備上沒有顯示器,只有一個固定的顯示器,因此修改核心分辨率沒有任何意義。 相反,您可以設置顯示游戲的SurfaceView具有固定的分辨率,並讓平台的合成器在將其合成到屏幕時(在硬件中)對其進行縮放。

(2)更智能地調整您發現自己正在運行的屏幕的實際分辨率。自己放大或縮小圖形以創建所需的播放區域。 也許有一些不同大小的紋理,然后為屏幕分辨率選擇合適的紋理。

您可能還可以將它們組合在一起,在這種情況下,您可以根據游戲可以良好運行的總分辨率為表面視圖選擇幾個固定大小。 無論哪種情況,都可以根據需要進行裝箱操作,以使縱橫比在不同的屏幕上保持恆定。

有三種解決長寬比差異的方法:

  1. 在某些比例上顯示不透明邊框(“ letterboxing”)。
  2. 以某些比例顯示更多游戲世界。
  3. 在某些比例上根本不工作。

使用方法(1),您會浪費某些設備上的屏幕空間。 對於電視來說,這不是什么大問題,但是在屏幕空間有限的手持設備上卻很慘。 使用方法(2),某些設備上的播放器可以獲得優勢(他們可以看到更多世界),也可以具有劣勢(精靈更小,因此觸摸精度更難)。 方法(3)很爛。

顯然,這取決於您的游戲細節,哪一個更好,但是作為一名玩家,我更喜歡方法(2)。 與關心是否其屏幕部分被不必要的黑條遮蓋的選區相比,關心其他設備上的玩家是否能獲得假定優勢的選區非常小。

(類似的方法和說明適用於分辨率的差異。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM