2016-01-13 59 views
-2

當試圖使用C語言中的Allegro 5或Python中的PyGame(都使用SDL)來加載和顯示位圖時,它會呈現一個小故障(請參見下面的截圖)。OS X上的SDL_image視覺故障El Capitan

我試着用Google搜索,發現它可能與SDL_image與OS X El Capitan不兼容,但沒有解決方案。任何人?

目前,我想:

  • 安裝SDL_image 1.2.10(最新兼容的版本)。 不!
  • 通過自定義公式將SDL_image 1.2.10與Homebrew一起安裝。 也沒事!

在截圖上,那些隨機像素應該是三個紅磚位圖。順便說一句,我使用這些功能來加載和繪製位圖,分別爲:

tileset[0] = al_load_bitmap("./data/gfx/bricks.png"); 
al_draw_bitmap(tileset[0], pos_x, pos_y, 0); 

Screen

回答

1

的錯誤實際上是SDL_image在埃爾卡皮坦。將SDL_image降級到1.2.10(而不是 SDL)有一個解決方法。您可能已經安裝了SDL 1.2.10,但仍然有SDL_image 1.2.12。嘗試刪除並強制安裝正確的版本。

看到這裏的細節:

https://bitbucket.org/pygame/pygame/issues/284/max-osx-el-capitan-using-the-deprecated

我試過這個解決自己和pygame的現在10.11下工作的罰款。

+0

讓我糾正我的問題......我實際上降級了SDL_image,而不是SDL。 –

+0

您是否確認沒有安裝該庫的多個副本。我的第一個懷疑是SDL_image的另一個版本正在潛伏。 您是否在修復SDL_image版本後重新編譯了Pygame? – Chris

+0

我真的不知道OS X上的庫路徑。我強制重新編譯Allegro,但它仍然無法工作。 –

相關問題