2012-01-14 24 views
1

我使用Andengine和使用SenorEvents以便與加速度計精靈的舉動。油門傳感器定向AndEngine

但由於某些原因,使用此代碼,在平板電腦上,如果我處於遊戲製作的橫向模式,它就好像它處於縱向模式。

我做錯了什麼?在普通的手機設備上,它可以正常工作

這是我的。

sensorManager = (SensorManager) this.getSystemService(Arcade_MainGame.SENSOR_SERVICE); 
     sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_GAME); 


    @Override 
public void onAccuracyChanged(Sensor sensor, int accuracy) { 
// TODO Auto-generated method stub 

} 


@Override 
public void onSensorChanged(SensorEvent event) { 
synchronized (this) { 
    switch (event.sensor.getType()) { 
     case Sensor.TYPE_ACCELEROMETER: 
      accellerometerSpeedX = (int)event.values[1]; 
      accellerometerSpeedY = (int)event.values[0]; 
      break; 
    } 
} 

} 

回答

1

在平板電腦和智能手機的一些默認模式是橫向所以當你宣佈你的遊戲使用的風景,然後在平板電腦上,這是縱向模式。所有你需要做的是檢查默認方向與Y開關X,如果有景觀。這裏是話題如何檢查

Check orientation on Android phone

1

在你的代碼,event.values [1]應該是「Y」,而event.values [0]有「X」的值(你有他們放錯地方)。

float x = event.values[0]; 
float y = event.values[1];