0

我目前正在通过 Adob​​e Air 将 Flash 游戏移植到 OUYA(Android 设备)。

大部分工作已经完成;它已打包并在 Android 设备上运行。

然而!如图所示,它卡在屏幕的一个小角落

我想要的是让游戏缩放到屏幕的全尺寸,同时保持纵横比。我见过其他 Flash to Air 到 Android 游戏这样做,所以我知道这是可能的,我只是不知道怎么做。

有人有任何提示吗?谢谢!

4

2 回答 2

1

阅读 stage.scaleMode:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Stage.html#scaleMode

这应该正是您所需要的。

保持纵横比的另一个选择是,如果您有一个包含所有内容的父容器,则将其缩放以适合您自己:

var widthRatio:Number = stage.stageWidth / BASE_WIDTH;
var heightRatio:Number = stage.stageHeight / BASE_HEIGHT;

if (widthRatio < heightRatio)
{
    container.scaleX = container.scaleY = widthRatio;
}
else
{
    container.scaleX = container.scaleY = heightRatio;
}

此时,您可以将容器居中放置在舞台上:

container.x = (stage.stageWidth - container.width) /2;
container.y = (stage.stageHeight - container.height) / 2;

或者用它做其他事情。

于 2013-10-10T04:10:57.280 回答
0

原来我需要让它工作的只是这两行代码:

stage.scaleMode = StageScaleMode.SHOW_ALL;
stage.align = "";
于 2013-10-15T13:15:47.867 回答