android游戏的加速计可以';Don’我走错路了

android游戏的加速计可以';Don’我走错路了,android,opengl-es,accelerometer,Android,Opengl Es,Accelerometer,我正在做一个带有加速计功能的游戏,这样每次我把我的设备转向左边,船就会向左倾斜,反之亦然 问题是这艘船一直在向左移动 这是我的密码 public void onSensorChanged(SensorEvent event){ if(event.sensor.getType()==Sensor.TYPE_ACCELEROMETER){ float x = event.values[0]; deltaX = xBefore-x; xBefo

我正在做一个带有加速计功能的游戏,这样每次我把我的设备转向左边,船就会向左倾斜,反之亦然 问题是这艘船一直在向左移动 这是我的密码

public void onSensorChanged(SensorEvent event){
    if(event.sensor.getType()==Sensor.TYPE_ACCELEROMETER){
        float x = event.values[0];

        deltaX = xBefore-x;
        xBefore = x;
        if(deltaX>0){//move right
            SFEngine.playerFlightAction = SFEngine.PLAYER_LEFT_BANK_1;
        }else{//move left
            SFEngine.playerFlightAction =SFEngine.PLAYER_RIGHT_BANK_1;
        }
    }
}

您不应该使用任何增量。只要检查x>0,然后向左移动,否则向右移动

您的代码中没有很好地计算deltaX。它不认为XEX可以小于零,并且当前X大于零(或其他方式)。应使用绝对值计算增量

不过我想你真的不需要任何三角洲。只要用x