【问题标题】:Game Programming - GUIs游戏编程 - GUI
【发布时间】:2010-05-19 04:31:28
【问题描述】:

我已经编码了一段时间,现在想开始研究编程游戏。我知道业界的标准语言是 C++,对于 3D 图形主要选择 Direct 3D 和 OpenGL,但最广泛使用的 GUI 框架是什么?我目前使用的是 Mac,所以如果原生 Windows API 是答案,那么跨平台选择是什么?

需要明确的是,我不是在寻找人们的最爱,而只是寻找常见或标准游戏行业的选择,以便我可以学习和熟悉它。

谢谢, 斯宾塞

【问题讨论】:

    标签: user-interface cross-platform


    【解决方案1】:

    Scaleform 用于很多 AAA 游戏。不幸的是,它带有一个匹配的价格标签!它基本上可以让您在 Flash 中开发 UI,然后将其导入到您的游戏中(因为设计师通常非常熟悉 Adob​​e 的工具,这对他们来说很容易)。

    对于开源解决方案,实际上有不少。 CEGUI 非常受欢迎(尽管它往往患有“厨房水槽”综合症——因为它除了厨房水槽之外什么都有)。我也见过GLOAwesomium(这实际上很有趣)。

    除此之外,大多数游戏引擎(例如 Unity、UDK 等)都有自己的内置 GUI 框架。

    【讨论】:

    • Scaleform 的性能和内存特性如何?上次我们查看它时,它似乎太笨重而无法证明价格合理,但如果 Ubi 和 EA 如此广泛地使用它,它可能会有所改进。
    • 我自己也没用过,但他们的客户名单正在迅速增长。
    • @Crashworks - 对我们来说同样的经历加上他们的开发支持有点零星。它在 PS3 上也没有得到优化,但那是几年前的事了。很想知道从那以后它是否有所改进。
    • 考虑到使用 Scaleform 发布的游戏数量,我认为它足够好就足够了。 ;) 我从未直接使用过它,但就像任何工具一样,我认为有些事情你应该做,也不应该做。
    • 啊,但是在这个行业中,你赢得圣诞节是因为做得比足够好!
    【解决方案2】:

    我认为没有特别广泛使用的框架。在游戏应用程序中,我们倾向于推出自己的 UI,或者使用引擎附带的 UI。

    游戏往往有大量的自定义美术和动画,这些很难用通用小部件实现;此外,大多数工具包不能很好地与 D3D 或 OpenGL 配合使用,或者对 Xbox 和 PS3 有很好的端口。因此,您会看到许多临时构建的 UI 实现,它们具有最终对纹理多边形和字体字形进行直接绘制调用的小部件。

    在“胶水屏幕”中的游戏之外,ie 安装程序和应用程序的其他非 D3D 部分,通常我们只使用相关操作系统的本机 API,ie Cocoa 或(呃)MFC。

    【讨论】:

      【解决方案3】:

      很抱歉,没有一个。每个游戏都需要一个特殊的 ui,并且很少有公共 ui 框架可供 d3d/ogl 启动(而且可定制的框架太慢了)。

      最好的办法是坐下来想想你的 ui,在一张纸上画出每一个可能的 ui 小部件,试着看看你能消除什么(你真的真的很想让它尽可能简单) 然后从头开始,从 ui 中实现你真正需要的东西。

      当我这样做时,我试图让它易于扩展,使用可调整大小的对话框和类似 Swing 的容器来为你对齐控件,理论上真的很酷,但它让实现它成为一场噩梦,我花了几个月的时间才把它做好.坚持基础,你应该没问题!

      【讨论】:

        【解决方案4】:

        http://librocket.com/ 是一个非常好的 UI 工具包。它使用 html/css 布局语言来描述您的窗口和样式,并允许您在您选择的任何系统中进行渲染。

        我们之所以选择它而不是 scaleform,是因为它为我们提供了允许客户端 UI 模块的灵活性。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-03-05
          • 2012-04-25
          • 2023-03-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-06-26
          • 1970-01-01
          相关资源
          最近更新 更多