-2

当尝试使用 C 中的 Allegro 5 或 Python 中的 PyGame(两者都使用 SDL)加载和显示位图时,它会呈现故障(见下面的屏幕截图)。

我尝试用谷歌搜索它,发现它可能与 SDL_image 与 OS X El Capitan 不兼容有关,但没有解决方案。任何人?

目前,我尝试过:

  • 安装 SDL_image 1.2.10(最新兼容版本)。没有!
  • 通过自定义公式使用 Homebrew 安装 SDL_image 1.2.10。也没什么!

在屏幕截图上,那些随机像素应该是三个红砖位图。顺便说一句,我正在使用这些函数分别加载和绘制位图:

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

屏幕

4

1 回答 1

1

该错误实际上与 El Capitan 下的 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 下运行良好。

于 2016-01-13T04:22:07.993 回答