游戏编程 - 图形用户界面

时间:2010-05-19 04:31:29

标签: user-interface cross-platform

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

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

谢谢, 斯潘塞

4 个答案:

答案 0 :(得分:6)

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

对于开源解决方案,实际上有很多。 CEGUI非常受欢迎(虽然它往往遭受“厨房水槽”综合症 - 因为除了厨房水槽之外它还有其他东西)。我也见过GLOAwesomium(实际上非​​常有趣)。

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

答案 1 :(得分:5)

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

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

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

答案 2 :(得分:3)

我很遗憾地说,但没有一个。每个游戏都需要一个特殊的ui,并且很少有用于启动d3d / ogl的公共ui框架(并且可以自定义的那些框架太慢)。

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

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

答案 3 :(得分:3)

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

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