有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在中端应用程序Android和引擎之间的固定方向切换

这里有谁精通安卓和安德林游戏引擎库

我想做的是改变屏幕方向,从菜单屏幕上的纵向,到玩游戏时的横向

目前,我已经将游戏设置为只使用一个Android活动,并使用多个场景和使用AndEngine的场景管理器

关于屏幕方向,我目前只能选择其中一个。我知道你也可以使用传感器来改变屏幕方向,但我想强迫玩家在横向中玩游戏,在纵向中使用菜单

有没有关于我将如何着手做这件事的想法


共 (1) 个答案

  1. # 1 楼答案

    您可以尝试使用内置android功能:

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    

    在你的舱单上有这个。xml:

    <activity android:name=".Activity_name"
          android:configChanges="orientation">
    

    防止游戏重新启动。您可以通过以下方式捕获这些配置更改:

    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        if(newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE){
           //do something
        }
        else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
           //do something        
        }
    }
    

    如下所述: http://developer.android.com/guide/topics/resources/runtime-changes.html

    我不知道安德发动机是否会对这种变化做出友好的反应。我脑海中唯一的另一个选择是改变EngineOptions,据我所知,这在onLoadEngine函数之外是不可能的

    另一个显而易见的想法是,为游戏本身创建一个新的Activity,然后再创建一个新的Engine