我目前正在通过 Adobe Air 将 Flash 游戏移植到 OUYA(Android 设备)。
大部分工作已经完成;它已打包并在 Android 设备上运行。
然而!如图所示,它卡在屏幕的一个小角落
我想要的是让游戏缩放到屏幕的全尺寸,同时保持纵横比。我见过其他 Flash to Air 到 Android 游戏这样做,所以我知道这是可能的,我只是不知道怎么做。
有人有任何提示吗?谢谢!
阅读 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;
或者用它做其他事情。
原来我需要让它工作的只是这两行代码:
stage.scaleMode = StageScaleMode.SHOW_ALL;
stage.align = "";