2011-04-11 95 views
5

支持多屏幕的問題已經被要求死亡,但是我還沒有看到關於遊戲開發的很多討論(有hitboxes,碰撞檢查等)。在2D opengl遊戲中支持多屏幕的技巧?

目前,我的遊戲運行在「兼容模式」,由於升級而在高端設備上生成非常差的視覺效果。我正在尋找其他人爲了讓他們的遊戲圖形在所有屏幕尺寸上都很好看而做的一些提示和建議。

開發人員是否包含每個資源的2個副本(中等密度和高密度)還是高密度資源簡單地縮小以用於密度較低的設備?

您的計算中是否使用與密度無關的像素?

回答

0

許多開發人員在首次運行時包含兩份資源副本或下載高分辨率副本。如果他們在第一次運行時下載,那麼他們沒有使用Android資源管理器。

2

開發人員是否包含每個資源的2個副本(中等密度和高密度),或者是高密度資源,只是爲了低密度設備而縮小比例?

這是處理事情的一種方式,我看到了下面做:

  1. 包括要支持
  2. 包括要支持最高分辨率位每分辨率位,並縮減其他決議。
  3. 使用矢量圖形來獲得想要支持的最高分辨率。

當使用方法2或3。這是我處理的方式:

  • 創建目標資產960×1600的屏幕尺寸。
  • 480 * 800 - 規模減半
  • 320×400 - 規模三分之一

這給了我的屏幕密度值,我需要爲將來的計算。

我寧願方法3.

我目前正在對從磁盤然後加載.SVG資產等距2D遊戲引擎的舞臺「加載」部分中「他們繪製成位圖」 。這樣做可以在運行我的遊戲時獲得磁盤上小尺寸(.svg)和更快性能(位圖)的好處。

的工作流程如下:

  1. 解析必要的遊戲資源的水平
  2. 從磁盤加載
  3. 相關.SVG資產繪製.SVG內容爲位圖
  4. 擲離開加載的.svg
  5. 重複所有資產
  6. 開始水平

是否與密度無關的像素在您的計算中使用?

是,我使用它,如下所示:

sprite.x = new_x_position * screen_density;