2009-07-26 28 views

回答

19

使用SDL,你有幾個選擇。

  1. 提前旋轉所有的精靈(預渲染所有可能的旋轉)並渲染它們,就像你對其他精靈一樣。這種方法很快,但使用更多的內存和更多的精靈。正如@Nick Wiggle指出的那樣,RotSprite是生成精靈變形的好工具。

  2. 使用像SDL_gfx這樣的東西來做實時旋轉/縮放。 (不推薦,非常慢)

  3. 在OpenGL模式下使用SDL,並將圖元渲染爲圖元,並將旋轉應用於圖元。

選項3可能是您最好的選擇,因爲您獲得了使用OpenGL的所有優點。這真的取決於你如何去做。您也可以加載您的精靈,使用SDL_gfx執行所有旋轉計算,然後將旋轉後的版本保存到內存中的SDL_Surface。

編輯:爲了迴應您的意見,我會建議檢查Lazyfoo的SDL tutorals。 Specifically, this one about rotation。還有一個OpenGl function, glRotatef,這對你的情況很有用。快速搜索帶回this little tidbit,這也可能有所幫助。

+0

我想我想探索OpenGL路線,但是,我從來沒有使用過它。你有什麼建議在網站上開始輪換教程嗎? – Justen 2009-07-26 07:13:17

2

您可以使用圖書館像SDL_gfx

0
SDL_RenderCopyEx() 

有旋轉,翻轉和旋轉中心的額外參數。