0

这是我的代码

#include <SDL.h>
#include <iostream>

int main(int argc,char **argv)
{
    std::cout<<SDL_NumHaptics()<<std::endl<<SDL_NumJoysticks()<<std::endl;
    return 0;
}

当我运行它时,它显示 0 个操纵杆和 0 个触觉设备,这在 linux 和 windows 上都会发生。在 linux 上,我安装了 xboxdrv,它检测到控制器,在 Windows 上,我还安装了必要的驱动程序。SFML 确实将控制器检测为 linux 上的操纵杆,但是,我更愿意使用 SDL,因为它支持触觉设备和 openGL 配置文件。

4

1 回答 1

3

您忘记初始化 SDL。例如:

SDL_Init(SDL_INIT_JOYSTICK | SDL_INIT_HAPTIC);

或者,如果您对所有内容(图形、音频等)都使用 SDL,那么:

SDL_Init(SDL_INIT_EVERYTHING);
于 2013-10-23T22:04:15.887 回答