【问题标题】:Tips for multiple screen support in 2D opengl game?在 2D opengl 游戏中支持多屏幕的提示?
【发布时间】:2011-08-02 21:04:39
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: android opengl-es image-scaling


    【解决方案1】:

    开发人员是否包含每个资源的 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;
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-04-06
        • 1970-01-01
        • 1970-01-01
        • 2015-12-17
        • 1970-01-01
        • 2011-04-12
        • 1970-01-01
        相关资源
        最近更新 更多