我正在一个项目中,我想移动一个虚拟操纵杆(vJoy)x像素数。但是,我找不到将像素转换为操纵杆轴(轴为-32768到32767)的方法。一个例子可能更有助于解释:
让我说我想在给定的100毫秒时间内在x轴上移动50个像素,因此我必须找到-32768到32767之间的确切轴力,这将在给定时间内将对象移动50个像素。
由于我需要非常精确的机芯,因此我迷上了可以完成这项任务的方法。感谢您的帮助
谢谢
答案 0 :(得分:0)
我将给出一个代码示例。您将其标记为Python,但是我要用JavaScript回答,因为我的Python仍然有点粗糙。希望它已经足够清楚了。
function getPositionIncrease(
minPixelValue, // lowest allowed pixel position, ie -100
maxPixelValue, // highest allowed pixel position, ie 100
minAxisValue, // lowest allowed axis value, ie -32768
maxAxisValue, // highest allowed axis value, ie 32767,
pixelDelta, // what amount the pixel position has changed by
) {
const distPixel = maxPixelValue - minPixelValue;
const distAxis = maxAxisValue - minAxisValue;
const axisPerPixel = distAxis / distPixel;
const axisDelta = pixelDelta * axisPerPixel; // how much the physical axis needs to change to match
return axisDelta;
}