【问题标题】:Andengine LANDSCAPE_SENSORAndengine LANDSCAPE_SENSOR
【发布时间】:2013-06-03 19:30:44
【问题描述】:

您好,我有一个使用 ScreenOrientation.LANDSCAPE_SENSOR 创建的 andengine 应用程序:

@Override
public EngineOptions onCreateEngineOptions() {
    DisplayMetrics displaymetrics = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(displaymetrics);
    CAMERA_WIDTH = displaymetrics.widthPixels;
    CAMERA_HEIGHT = displaymetrics.heightPixels;
    camera = new ZoomCamera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT);
    EngineOptions engineOptions = new EngineOptions(true, ScreenOrientation.LANDSCAPE_SENSOR, new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), camera);
    engineOptions.getAudioOptions().setNeedsSound(true);

但是当我旋转我已经尝试添加的设备时没有发生任何事情

android:configChanges="orientation"
android:screenOrientation="sensor"

喜欢这个

  <activity
            android:name=".activities.AquaActivity"
            android:configChanges="orientation"
            android:screenOrientation="sensor"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

它似乎在开始时识别方向,但在运行应用程序时方向没有改变

我需要做一些特别的事情来让它发挥作用吗?

【问题讨论】:

  • 我也对这个感兴趣。

标签: android orientation andengine


【解决方案1】:

您不需要 XML 设置,也不需要做任何特别的事情。我正在使用 LANDSCAPE_SENSOR,而清单中没有额外的行。您的代码也没有明显的问题。

如果您的应用程序正常工作(即场景显示正确,一切都在移动等),并且其他应用程序/游戏正确旋转屏幕,那么我想到的最后一件事是您可能使用的是旧版本的 Android SDK,而不是GingerBread(API 级别 9),这是 LANDSCAPE_SENSOR 工作的要求。

【讨论】:

  • 好的,我正在使用 api 级别 10,感谢您提供的信息,我没有忘记任何东西.. 我想我必须检查我的代码,也许我已经禁用了该功能覆盖任何函数
  • 我建议创建一个简单的原型,它只渲染一个精灵并在那里测试传感器。另外我认为建议针对最新的 SDK 进行构建:&lt;uses-sdk android:minSdkVersion="10" android:targetSdkVersion="17" /&gt; 我不确定设置 minSdkVersion 是否也会影响使用传感器的能力。
猜你喜欢
  • 2013-03-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多