c++ - 将游戏 handle 摇杆值转换为范围

标签 c++ input directx xinput gamepad

我正在尝试使用 XInput 从拇指杆获取值,但这些值很奇怪,我不知道如何正确处理它们。

如何计算才能读取 -1(拇指杆向左/向上)+1(拇指杆向右/向下)之间的值

类似于 XNA 的 Gamepad.GetState().ThumbSticks.Left.X(-1 = 向左,+1 = 向右)。

有什么想法吗?

最佳答案

根据documentation , _XINPUT_GAMEPAD.sThumbLX 是一个 SHORT ,其值介于 -32768 和 32767 之间。如果要将其转换为 [-1, 1) 的范围,则除以该值通过 32768.0.

关于c++ - 将游戏 handle 摇杆值转换为范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14633608/

相关文章:

c++ - 我该怎么办 : convert surface to a texture or create a texture with certain multisampling parameters or render a surface with an alpha layer

c++ - C++标准算法中的ForwardIterator和OutputIterator能一样吗?

javascript - 适合 float 的 JavaScript 掩码

javascript - 调整 keyup 事件以在用户完成输入后调用 API

directx - 如何使用 DirectX 从后台缓冲区获取桌面的屏幕截图

c++ - 关于视频游戏编程,你有什么好的书名可以给我吗?

c++ - QMetaType::Type来自模板类型

c++ - 实现这个 "on error, throw"回调的最佳方式是什么?

c++ - 对于程序的不同运行,全局变量的地址是否相同?

css - 为什么绝对和相对定位在 Firefox 中不能按预期工作?