AS3阶段自行改变,怎么可能?

时间:2015-01-08 00:06:00

标签: android actionscript-3 flash air flash-builder

我正在为Android开发Air App。 它发生的时候情况非常好。让我解释一下:我运行应用程序,一切正常:stageWidth是800,正如我之前定义的那样。 (我知道在运行时设置stageWidth是不可能的,而且stageWidth和stageHeight是只读的。 我按回/ home按钮,我的应用程序正常失去焦点,但当我通过最近的列表应用程序或菜单应用程序再次打开应用程序时,stageWidth自己更改为1794.我真的不知道为什么这个数字,甚至不知道如何改变stageWidth。

1 个答案:

答案 0 :(得分:0)

Capabilities.screenResolutionX和Capabilities.screenResolutionY是应该用于应用程序的屏幕宽度和高度的内容。注意:它们不会随着旋转而改变 - 它们会在屏幕旋转时保持不变,因此您的代码将如下所示:

if (bStagePortrait) {
    iScreenWidth = Capabilities.screenResolutionX;
    iScreenHeight = Capabilities.screenResolutionY;
} else {
    iScreenWidth = Capabilities.screenResolutionY;
    iScreenHeight = Capabilities.screenResolutionX;
}

在应用程序中使用此代码可以防止应用程序拉伸并位于左下角:

stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;

如果你进行了这些更改,你应该开始看到好的数字。