2011-04-11 63 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;