游戏编程 - GUI

问题描述 投票:0回答:4

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

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

谢谢, 斯宾塞

user-interface cross-platform
4个回答
6
投票

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

开源解决方案其实还有不少。 CEGUI 非常受欢迎(尽管它往往会遭受“厨房水槽”综合症 - 因为它除了厨房水槽之外什么都有)。我还看过 GLOAwesomium (实际上非常有趣)。

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


5
投票

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

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

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


3
投票

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

你最好的选择是坐下来思考一下你的用户界面,在一张纸上画出所有可能的用户界面小部件,尝试看看你可以消除什么(你真的真的真的想让它尽可能简单)并且然后从头开始并从用户界面实现您真正需要的内容。

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


3
投票

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

我们选择它而不是scaleform,因为它为我们提供了允许客户端ui mods的灵活性。

© www.soinside.com 2019 - 2024. All rights reserved.