我目前正在通过Adobe Air将Flash游戏移植到OUYA(一款Android设备)。
大部分工作已经完成;它打包并在Android设备上运行。
然而!它被卡在屏幕上的一个小角落,如seen in this picture
我想要的是让游戏缩放到屏幕的整个尺寸,同时保持宽高比。我见过其他Flash to Air到Android游戏这样做,所以我知道这是可能的,我只是不知道如何。
任何人有任何提示吗?谢谢!
答案 0 :(得分:1)
阅读stage.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 = "";