从AIR到Android / OUYA的Flash游戏:在电视上全屏播放

时间:2013-10-10 04:03:30

标签: android flash air scale ouya

我目前正在通过Adobe Air将Flash游戏移植到OUYA(一款Android设备)。

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

然而!它被卡在屏幕上的一个小角落,如seen in this picture

我想要的是让游戏缩放到屏幕的整个尺寸,同时保持宽高比。我见过其他Flash to Air到Android游戏这样做,所以我知道这是可能的,我只是不知道如何。

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

2 个答案:

答案 0 :(得分: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;

或者用它做点什么。

答案 1 :(得分:0)

这两行代码证明了我需要做的所有工作:

stage.scaleMode = StageScaleMode.SHOW_ALL;
stage.align = "";