什么是SDL-2.0对应的'SDL_JoystickOpened'功能?

时间:2014-03-06 00:50:42

标签: sdl sdl-2

我尝试在SDL-2.0代码中使用SDL_JoystickOpened(),但我收到错误消息 SDL_JoystickOpened未在此范围内声明

我搜索过并发现SDL-2.0中不再存在SDL_JoystickOpened(),但我没有找到替换它的函数。任何人都可以告诉我如何在这段代码中替换SDL_JoystickOpened()

SDL_Joystick *joy = SDL_JoystickOpen(0);
if (SDL_JoystickOpened(0) == 1)
{
    // do something
}

感谢。

2 个答案:

答案 0 :(得分:5)

documentation表示SDL_JoystickOpen()调用如果失败则返回NULL指针,所以只需检查一下:

SDL_Joystick *joy = SDL_JoystickOpen(0);
if (joy) {
    // joy is a valid pointer so do stuff
}

答案 1 :(得分:1)

2.0中的替代方案可能是SDL_JoystickGetAttached

SDL2 source-code test/testjoystick.c中还有一个例子(至少在SDL2-2.0.1中)


另请注意 SDL 1.2到2.0迁移指南Joysticks部分。它提供了有关2.0中新功能和方法的各种信息。它还链接到GameController部分,例如SDL_GameControllerGetJoystick