【问题标题】:How to embed an SDL_Surface into GTK+如何将 SDL_Surface 嵌入 GTK+
【发布时间】:2017-07-31 20:32:51
【问题描述】:

我正在使用 SDL 编写游戏,但想使用 GTK+ 进行控制。因此,我需要将 SDL_Surface 嵌入 GTK+。我该怎么做?

编辑

该游戏将是一个基于图块的交通模拟器(如OpenTTD),但我不会使用 SDL 来显示游戏 UI(screenshot),而是使用 GTK+。

(我发现 OpenTTD 的基于 SDL 的 GUI 相当笨拙,因为它不与操作系统集成,因此不支持复制粘贴、使用箭头和 Tab 键控​​制等)

【问题讨论】:

标签: gtk sdl


【解决方案1】:

不太了解您目前正在尝试做什么,我怀疑 SDL 和 GTK+ 可能有很多重叠,所以我不确定同时使用两者会有多大用处。

在编写游戏时,任何工具包的目的通常是简单地与窗口系统对话并管理输入,因为所有绘图都是使用 GL 完成的。

如果您还打算将 GTK+ 用于控件,我建议您只使用 GTK+ 而不要混合使用两者。

通过 GTK+,使用 GL 的最佳方式是使用 GtkGLArea widget,它为您提供了一个使用标准 GL 调用进行绘制的画布。

如果您不打算使用 GL,而只是想在软件中绘图,那么用于此目的的正确小部件将是 GtkDrawingArea

通过加入#gnome-gamesIRC channel on the irc.gnome.org server,您可能会发现比我更能指导您的知识渊博的人。 :)

【讨论】:

  • 抱歉,我的问题在回顾中看起来确实很模糊——我已经对其进行了编辑,以便更清楚地说明我想要做什么。不过谢谢你的建议——我会看看 GtkGLArea 和 GtkDrawingArea。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-26
  • 2010-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多