我已经失去了一些时间试图为我的应用程序使用SDL获得操纵杆支持,主要是因为初始化步骤,其中:
SDL_Init(SDL_INIT_JOYSTICK|SDL_INIT_VIDEO); SDL_JoystickEventState(SDL_ENABLE);
如果我刚刚初始化操纵杆,它就无法工作,它需要与视频一起完成.我希望这是非常简约的,所以很高兴知道是否有办法初始化操纵杆.如果没有,有人可以告诉我是否有任何不利于初始化视频并且从不使用它?
我在这里使用Ubuntu,但我希望这可以在各种平台上运行.这种行为在不同环境中有所不同吗?
谢谢 :)
解决方法
在开发一个带有joypad输入的小型CLI应用程序时,我遇到了类似的问题.基本上,没有SDL_INIT_VIDEO它就无法工作,因为SDL事件系统源于视频驱动程序,至少在Linux(X11)上.
在没有创建窗口的情况下初始化视频是完全正常的(它至少可以工作).我已经在Win32和Linux上测试了这种方法,所以它似乎也可以在多平台上运行.