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