我已经编码有一段时间了,想开始研究编程游戏。我知道业界的标准语言是C++,对于3D图形来说主要选择是Direct 3D和OpenGL,但是使用最广泛的GUI框架是什么?我目前使用的是 Mac,因此如果本机 Windows API 是答案,那么跨平台选择是什么?
需要明确的是,我并不是在寻找人们的最爱,而只是在寻找常见或标准游戏行业的选择,以便我可以学习和熟悉它。
谢谢, 斯宾塞
我认为没有任何框架使用得特别广泛。在游戏应用程序中,我们倾向于推出自己的 UI,或使用引擎附带的 UI。
游戏往往有大量的自定义艺术和动画,很难用通用小部件来实现;此外,大多数工具包不能很好地与 D3D 或 OpenGL 配合使用,或者无法很好地移植到 Xbox 和 PS3。因此,您将看到许多临时构建的 UI 实现,其中的小部件最终对纹理多边形和字体字形进行直接绘制调用。
在游戏之外的“粘合屏幕”、ie安装程序和应用程序的其他非 D3D 部分,通常我们只使用相关操作系统的本机 API,ieCocoa 或(呃)MFC .
我很抱歉地说,但是没有。每个游戏都需要一个特殊的 ui 外观,并且很少有可供 d3d/ogl 启动的公共 ui 框架(并且可定制的框架太慢)。
你最好的选择是坐下来思考一下你的用户界面,在一张纸上画出所有可能的用户界面小部件,尝试看看你可以消除什么(你真的真的真的想让它尽可能简单)并且然后从头开始并从用户界面实现您真正需要的内容。
当我这样做时,我试图使其易于扩展,使用可调整大小的对话框和类似 Swing 的容器来为您对齐控件,理论上非常酷,但它使实现它成为一场噩梦,我花了几个月的时间才把它做好。坚持基础知识,你应该没问题!
https://github.com/libRocket/libRocket是一个非常好的UI工具包。它使用 html/css 布局语言来描述您的窗口和样式,并允许您在您选择的任何系统中进行渲染。
我们选择它而不是scaleform,因为它为我们提供了允许客户端ui mods的灵活性。