0

好的,我试图让三角形移动。现在它确实有效,但我无法在中间平衡它。它太敏感了。这是我的代码:

float accelx = event.values[0];
if (accelx > PreviousX2) {
    if (posx > -2) {
    Triangle.setPosX(posx - 0.1f);
    Triangle.setPosY(posy - 0.1f);
    Triangle.setPosZ(posz - 0.1f);
    }
}
if (accelx < PreviousX2) {
    if (posx < 0) {
    Triangle.setPosX(posx + 0.1f);
    Triangle.setPosY(posy + 0.1f);
    Triangle.setPosZ(posz + 0.1f);
    }
}
break;

它确实有效,但我无法将其平衡到中间...如何使其不那么敏感,使其能够停留在屏幕中间,因为现在它只是停留在屏幕的右侧或左侧。

4

1 回答 1

0

您可以围绕 的一组值创建死区accelx

例如,以下代码将过滤掉任何围绕 X 轴小于 1 rad/s 的加速度:

float accelx = event.values[0];
if (accelx < 1) {
    // Value isn't significant enough, so i
    return;
} else {
    // Proceed as usual
}
于 2013-10-02T13:53:18.227 回答