我最近设法让pysdl2(0.9.3)在windows8.1(64位)机器上运行(以及扩展模块gfx、mixer、ttf和image)。一切都很好,包括pysdl2示例文件夹中的所有演示。在
但是,当我尝试在Windows 7(64位)上使用相同的SDL2 DLL版本运行相同的代码时,我收到错误消息:
sdl2.ext.common.SDLrror: 'directx not available'
打电话后
^{pr2}$我尝试安装Directx最终用户运行时(2010年6月)甚至完整的SDK,但是没有成功。我还尝试将SDL\u VIDEODRIVER环境变量更改为directx之外的其他变量,但这也不起作用(显然“windib”在SDL2中不再可用)。在
我知道SDL2可能在寻找directx9,现在directx11已经完全取代了它,但是在安装了最终用户运行时之后,我的系统应该可以再次使用directx9。另外,如果这是问题的原因,那么它也不应该在windows8.1上运行,因为这个操作系统更新,更不可能携带DX9?在
编辑: 附带说明一下,pygame(使用旧的sdl1.2库)可以将directx作为
pygame.display.get_driver()
输出:
'directx'
所以SDL2库的内部配置一定有问题。在
我在WindowsXP上遇到了相同的错误
directx not available
,并通过使用将环境变量SDL_VIDEODRIVER
设置为windows
来解决这个问题在启动Python模块之前。也可以直接从Python使用
^{pr2}$注意,}仅对SDL1.2有效。在
windows
是SDL2中Windows唯一支持的驱动程序。directx
和{我遇到这个问题是因为我同时导入了Pygame和PySDL2。结果是Pygame模块(使用SDL1.2)在导入时将}。在
SDL_VIDEODRIVER
更改为{相关问题 更多 >
编程相关推荐