我正在经历一些SDL2 2的滑稽方法的一些奇怪的行为。我已经用libsdl2-dev和libsdl2-2.0-0 (都在版本2.0.10中)和Windows 10 64位(最新的SDL二进制构建)测试了Linux 64位。作为控制器,我使用了8 8Bitdo SF30 Pro游戏垫和任天堂开关Pro控制器-两者都通过USB连接。
SDL_HapticRumblePlay和SDL_HapticRunEffect都在以相当低的频率(我假设2-5赫兹)驱动隆隆电机,从而产生较小的震级。影响结构的任何变化(如波型、震级、方向、周期等)不要表现出任何改进。在每个SDL_HapticRunEffect调用中,振动似乎也有一定的变化。SDL_HapticsSetGain方法似乎也没有任何效果。你对这些行为有什么建议吗?
发布于 2022-01-29 19:05:42
虽然如果出于任何原因必须使用SDL2触觉方法,可能并不完全是您想要的答案,但是这句话在与SDL2中的触觉类似的问题上声明如下:
对于游戏平台,触觉接口被废弃为SDL_GameControllerRumble(),它在更多的游戏控制器平台上实现。触觉API在总体上正朝着只支持轮子和飞行棒的方向发展。(2021年8月)
因此,您的两个问题的答案可能是,SDL2触觉是不推荐的游戏垫,特别是较新的,如任天堂专业控制器,因此它不能保证正常工作(或完全工作)。
但是,如果您只是想让您的游戏垫发出隆隆声(这就是我偶然发现这个问题的原因),那么应该使用SDL_GameControllerRumble()来完成这项工作。它适用于我的任天堂专业控制器。
有关如何使用它的更多信息,请查看GameControllerRumble - SDL。
使用此函数所需的版本是SDL2.0.9.
https://stackoverflow.com/questions/65189813
复制相似问题