java - 使用 AndEngine 的加速器传感器方向

标签 java android andengine

我正在使用 Andengine 并使用 SenorEvents 通过加速度计使 Sprite 移动。

但是出于某种原因,对于此代码,如果我在平板电脑上处于制作游戏的横向模式,它的行为就好像它处于纵向模式一样。

我做错了什么吗?在普通手机设备上,它可以正常工作

这是我的。

 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;
    }
}

}

最佳答案

在平板电脑和一些智能手机上,默认模式是横向模式,因此当您声明您的游戏使用横向模式时,在平板电脑上这是纵向模式。您需要做的就是检查默认方向,如果有横向,则将 X 切换为 Y。这是主题如何检查它

Check orientation on Android phone

关于java - 使用 AndEngine 的加速器传感器方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8864842/

相关文章:

java - 有没有办法在方法中访问调用类的变量?

java - LibGdx 复制 Actor 的正确方法是什么?

android - android中Activity中的页面 curl 效果

android - 每天创建通知

android - Html5 应用程序与 Android 或 iphone 应用程序速度比较

android - Andengine的动画速度异常快

android - 如何在 Android Studio 链接到 SDK/NDK 中转义空白

java - Hibernate HBM2DDL 为主外键生成可为空字段?

java - 将两个类(class)合二为一

android - AndEngine GLES 2.0 - 电源按钮问题 - 解锁屏幕后游戏无法恢复