Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 空中机动总是在风景区_Android_Actionscript 3_Air - Fatal编程技术网

Android 空中机动总是在风景区

Android 空中机动总是在风景区,android,actionscript-3,air,Android,Actionscript 3,Air,我正在空中移动制作一个应用程序,我需要一直处于横向模式。在大多数设备上,这是可以的,但在某些设备上(例如摩托罗拉XOOM),应用程序是以横向方式启动的。至少在Flash Builder 4.5附带的内置仿真器上。我不知道这是仿真器的问题,还是XOOM的方向与大多数设备不同。 无论如何,我想确保设备始终处于横向模式。这很容易检查: if(stage.stageWidth<stage.stageHeight){ //rotate screen; } if(stage.stageWidth在

我正在空中移动制作一个应用程序,我需要一直处于横向模式。在大多数设备上,这是可以的,但在某些设备上(例如摩托罗拉XOOM),应用程序是以横向方式启动的。至少在Flash Builder 4.5附带的内置仿真器上。我不知道这是仿真器的问题,还是XOOM的方向与大多数设备不同。 无论如何,我想确保设备始终处于横向模式。这很容易检查:

if(stage.stageWidth<stage.stageHeight){
 //rotate screen;
}

if(stage.stageWidth在*-app.xml文件中,您可以定义应用程序应如何操作:

<aspectRatio>landscape</aspectRatio>
<autoOrients>true</autoOrients>
景观
真的

即使在application.xml中将aspectRatio设置为横向,将autoOrients设置为false,有时在mobile air 3.1应用程序的第一帧中设备的方向设置不正确,因此stage.stageWidth将返回两个维度中较小的一个。几帧后,它将翻转到正确的方向。这可能是您需要的见证

因此,如果您需要在应用程序首次加载时了解横向阶段维度,请使用:

var width :Number = Math.max(stage.stageWidth, stage.stageHeight);
var height :Number = Math.min(stage.stageWidth, stage.stageHeight);
您不需要手动旋转整个应用程序,但以下是操作方法:

this.rotationX = 90

你应该注意锁定应用程序中的旋转,如果你提交到Apple store,如果应用程序无法适应倒置的设备,你可能会被拒绝。许多设备的“默认”方向不同,但将应用程序描述符设置为横向的起始纵横比应该会起作用。在AIR 3.3中有一个变化e以便设置stage.aspectRatio将保持预期的纵横比,而不管设备的默认方向,或设备倒置

您需要设置:

<aspectRatio>landscape</aspectRatio>
<autoOrients>true</autoOrients>
在您的编译器选项中。使用这些设置和AIR 3.3,应用程序将保持横向纵横比,无论设备旋转到“顶部”,设备在左侧还是右侧。将纵横比设置为纵向将使设备保持纵向纵横比,即使设备倒置

-swf-version=16