SDL
http://zh.wikipedia.org/w/index.php?title=SDL&variant=zh-tw
wxWidgets
http://zh.wikipedia.org/w/index.php?title=WxWidgets&variant=zh-tw
SDL是cross-platform game programming library
wxWidgets是cross-platform widget toolkits
去年暑假我用wxWidgets寫了一些小遊戲sample
雖然wx提供了很多好用的GUI toolkits
不過畢竟他不是專門設計出來寫game的library
在遊戲開發上SDL明顯比wx好用
有沒有什麼方法可以結合兩者的長處呢?
最近我看到這個網站
http://code.technoplaza.net/wx-sdl/
這網站簡單介紹了如何結合這兩個工具
1. 把SDL_Init() and SDL_QUIT() 分別放到SDLApp(繼承wxApp)裡的
OnRun() and OnExit()這兩個member function裡頭
2. 在SDLPanel::createScreen()裡,建立SDL_SURFACE
3. 繪圖動作都寫在SDLPanel::onIdle()
4. 在SDLPanel::onPaint()裡頭建立wxBitmap 並使用screen(SDL_SURFACE)
的pixel data當做初值
5. 利用wxBufferedPaintDC 把wxBitmap裡頭存的圖案印出到螢幕
也就等於把screen的pixel data output to 電腦螢幕
用wxBufferedPaintDC 是為了避免flicker
沒有留言:
張貼留言