2017-07-31 58 views
0

我正在使用SDL編寫遊戲,但想要使用GTK +進行控制。因此我需要將SDL_Surface嵌入到GTK +中。我應該怎麼做?如何將SDL_Surface嵌入GTK +

編輯

遊戲將是一個基於區塊的傳輸模擬器但(象OpenTTD),而不是使用SDL來顯示該遊戲UI(screenshot),我會使用GTK +。

(我發現OpenTTD的基於SDL的圖形用戶界面相當笨拙,因爲它沒有與操作系統整合,因此不支持諸如複製粘貼,用箭頭和Tab鍵控制等)

enter image description here

+0

最簡單(儘管可能不是最快或最靈活的)解決方案將圖像數據從SDL_Surface複製到GtkImage。 – keltar

+1

https://stackoverflow.com/questions/47284284/how-to-render-sdl2-texture-into-gtk3-window –

回答

0

不太瞭解您目前正在嘗試做什麼我懷疑SDL和GTK +可能會重疊很多,所以我不確定同時使用兩者會有多大用處。

在編寫遊戲時,任何工具包的目的通常是簡單地與窗口系統對話並管理輸入,因爲所有的繪圖都是使用GL完成的。

如果您還計劃使用GTK +控件,我建議只使用GTK +而不要混合使用它們。

使用GTK +使用GL的最佳方式是使用GtkGLArea widget,它爲您提供使用標準GL調用繪製的畫布。

如果您不打算使用GL,但您只是想使用軟件進行繪製,那麼適用於此目的的小部件將是GtkDrawingArea

通過加入#gnome-gamesIRC channel on the irc.gnome.org server你可能會發現更多的人知道可以引導你比我更好。 :)

+0

對不起,我的問題在回顧展中看起來很模糊 - 我編輯它使其更清晰我正在嘗試做什麼。謝謝你的建議,但我會看看GtkGLArea和GtkDrawingArea。 –