我正在使用 Xbox 控制器上的摇杆在屏幕上移动一个小矩形。我有它非常适合鼠标输入,但我似乎遇到了控制器问题。方块出现在屏幕上的控制器死区 (0,0) 处。当我移动拇指杆时,方块移动特定的量并且不再移动,当我将手指从摇杆上抬起时,它会回到(0,0)。代码如下,它的代码非常简单,但不能让它工作。谢谢你的帮助。
这是第一部分。
void Graphics::rectangle(int x, int y)
{
{
r1.x1 = x;
r1.y1 = y;
r1.x2 = r1.x1 + 50;
r1.y2 = r1.y1 + 50;
}
}
这是第二部分。
LONG x = input->getGamepadThumbRX(0);
LONG y = input->getGamepadThumbRY(0);
float x1 = x/32767;
float y1 = y/32767;
if(x1 > 0 && x1 < 0.2f || x1 < 0 && x1 > -0.2f){
x1 = 0;
}
if(y1 > 0 && y1 < 0.2f || y1 < 0 && y1 > -0.2f){
y1 = 0;
}
float factor = 10;
int dx = int(factor * x1);
int dy = int(factor * y1);
graphics->rectangle(dx,dy);