Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python OS X El Capitan上的SDL_图像视觉故障_Python_C_Sdl_Osx Elcapitan_Visual Glitch - Fatal编程技术网

Python OS X El Capitan上的SDL_图像视觉故障

Python OS X El Capitan上的SDL_图像视觉故障,python,c,sdl,osx-elcapitan,visual-glitch,Python,C,Sdl,Osx Elcapitan,Visual Glitch,当尝试使用C语言中的Allegro 5或Python语言中的PyGame(两者都使用SDL)加载和显示位图时,会出现问题(请参见下面的屏幕截图) 我试着在谷歌上搜索,发现这可能与SDL_映像与OS X El Capitan不兼容有关,但没有解决方案。有人吗 目前,我尝试: 安装SDL_image 1.2.10(最新兼容版本)

当尝试使用C语言中的Allegro 5或Python语言中的PyGame(两者都使用SDL)加载和显示位图时,会出现问题(请参见下面的屏幕截图)

我试着在谷歌上搜索,发现这可能与SDL_映像与OS X El Capitan不兼容有关,但没有解决方案。有人吗

目前,我尝试:

  • 安装SDL_image 1.2.10(最新兼容版本)<不是
  • 通过自定义公式使用自制软件安装SDL_image 1.2.10也没什么
在屏幕截图上,这些随机像素应该是三个红砖位图。顺便说一下,我使用这些函数分别加载和绘制位图:

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

该漏洞实际上与El Capitan旗下的SDL_图像有关。将SDL_图像降级到1.2.10(不是SDL)是一种解决方法。您可能已经安装了SDL 1.2.10,但仍有SDL_映像1.2.12。尝试卸下并强制安装正确的版本

详情请参见此处:


我自己也尝试过此修复,Pygame现在在10.11下运行良好。

让我更正我的问题。。。我实际上降级了SDL_映像,而不是SDL。您确认没有安装多个库副本吗。我的第一个怀疑是SDL_图像的另一个版本潜伏在周围。修复SDL_图像版本后,你重新编译Pygame了吗?我真的不知道OS X上的库路径。我强制重新编译Allegro,但它仍然无法工作。