5

支持多屏幕的问题已经被问死了,但我还没有看到太多关于游戏开发的讨论(包括碰撞箱、碰撞检查等)。

目前,由于升级,我的游戏在“兼容模式”下运行,在高端设备上产生了非常糟糕的视觉效果。我正在寻找其他人为使他们的游戏图形在所有屏幕尺寸上看起来都不错而采取的措施的提示和建议。

开发人员是否包含每个资源的 2 个副本(中密度和高密度),还是只是将高密度资源按比例缩小以用于低密度设备?

您的计算中是否使用了与密度无关的像素?

4

2 回答 2

2

开发人员是否包括每个资源的 2 个副本(中密度和高密度),还是只是将高密度资源按比例缩小以用于低密度设备?

这是处理事情的一种方法,我已经看到以下完成:

  1. 包括您想要支持的每个分辨率的位图
  2. 包括您想要支持的最高分辨率的位图,并按比例缩小其他分辨率。
  3. 使用矢量图形以获得您想要支持的最高分辨率。

当使用方法 2. 或 3. 这是我处理它的方式:

  • 创建面向 960 x 1600 屏幕尺寸的资产。
  • 480 x 800 - 缩小一半
  • 320 x 400 - 缩放三分之一

这给了我未来计算所需的屏幕密度值。

我更喜欢方法3。

我目前正在开发一个等距 2d 游戏引擎,该引擎从磁盘加载 .svg 资产,然后在舞台的“加载”部分“将它们绘制到位图”。这样做我在运行我的游戏时获得了磁盘空间小(.svg)和更快的性能(位图)的好处。

工作流程如下:

  1. 解析关卡所需的游戏资产
  2. 从磁盘加载相关的 .svg 资产
  3. 将 .svg 内容绘制到位图中
  4. 扔掉加载的 .svg
  5. 对所有资产重复
  6. 开始级别

您的计算中是否使用了与密度无关的像素?

是的,我使用它如下:

sprite.x = new_x_position * screen_density;
于 2012-02-29T18:02:54.820 回答
0

许多开发人员包括资源的两个副本或在首次运行时下载高分辨率副本。如果他们在第一次运行时下载,那么他们没有使用 Android 资源管理器。

于 2011-04-19T14:22:54.380 回答