Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 加速计始终返回0且不可用。Ligbdx,安卓_Java_Android_Libgdx_Accelerometer - Fatal编程技术网

Java 加速计始终返回0且不可用。Ligbdx,安卓

Java 加速计始终返回0且不可用。Ligbdx,安卓,java,android,libgdx,accelerometer,Java,Android,Libgdx,Accelerometer,我是java编程新手(尤其是libgdx库)。 我正在尝试开发一款简单的android游戏,使用智能手机的移动来移动屏幕上的物体。 这个物体非常简单,因为它有两个坐标(x,y),我想用加速度计来更新坐标 stringstamp用于了解加速计是否可用 我在舱单上写了: <uses-feature android:name="android.hardware.sensor.accelerometer" android:required="true" />

我是java编程新手(尤其是libgdx库)。 我正在尝试开发一款简单的android游戏,使用智能手机的移动来移动屏幕上的物体。 这个物体非常简单,因为它有两个坐标(x,y),我想用加速度计来更新坐标

stringstamp用于了解加速计是否可用

我在舱单上写了:

<uses-feature
        android:name="android.hardware.sensor.accelerometer"
        android:required="true" />

代码如下:

public void Ball_isMoving(){

    tmpx=x;
    tmpy=y;

    if(Gdx.input.isPeripheralAvailable(Input.Peripheral.Accelerometer)){
        accelX = Gdx.input.getAccelerometerX();
        accelY = Gdx.input.getAccelerometerY();
        stringstamp = "ok";
    }
    else {
        stringstamp = "no";
    }

    if (accelX < -1){
        tmpx-=accelY*200*Gdx.graphics.getDeltaTime();
    }

    if (accelY < -1 ){
        tmpy-=accelX*200*Gdx.graphics.getDeltaTime();
    }

    if (accelX > +1 ){
        tmpx+=accelY*200*Gdx.graphics.getDeltaTime();
    }

    if (accelY > +1){
        tmpy+=accelX*200*Gdx.graphics.getDeltaTime();
    }

    if(tmpx>-1 && tmpx<Gdx.graphics.getWidth())
        x=tmpx;

    if(tmpy>-1 && tmpy<Gdx.graphics.getHeight())
        y=tmpy;

}
public void Ball_isMoving(){
tmpx=x;
tmpy=y;
if(Gdx.input.isPeripheralaAvailable(input.Peripheral.Accelerator)){
accelX=Gdx.input.getAccelerometerX();
accelY=Gdx.input.getAccelerometry();
stringstamp=“确定”;
}
否则{
stringstamp=“否”;
}
如果(加速度<-1){
tmpx-=accelY*200*Gdx.graphics.getDeltaTime();
}
如果(加速度<-1){
tmpy-=accelX*200*Gdx.graphics.getDeltaTime();
}
如果(加速度>+1){
tmpx+=accelY*200*Gdx.graphics.getDeltaTime();
}
如果(加速度>+1){
tmpy+=accelX*200*Gdx.graphics.getDeltaTime();
}

如果(tmpx>-1&&tmpx-1&&tmpyIts)可能为真,您确定tour设备有加速计吗?我在htc one m7和三星s6上试过。我应该试一下get roll()???