AS3 Stage 自己变,怎么可能?

AS3 Stage changing by itself, how is it possible?

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

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;

如果您进行了这些更改,您应该会开始看到不错的数字。