使用Adobe AIR使游戏适应设备分辨率

时间:2014-10-08 19:14:14

标签: android actionscript-3 flash air adobe

我希望借助Adobe AIR在Android上安装我的Flash游戏,但我不知道如何根据设备分辨率调整所有内容的大小。有办法吗? 我尝试使用Adobe指南中找到的脚本:

function handleResize(...ig):void {
   var deviceSize:Rectangle = new Rectangle(0, 0, stage.stageWidth, stage.stageHeight);
}
handleResize();

它没有用,我实际上并没有理解它应该如何运作。

1 个答案:

答案 0 :(得分:0)

呃,呃,那还不行。 有数百种方法可以使您的应用程序适应不同的设备大小,这是我发现的最简单的方法,事实上我的空中应用程序正在以这种方式工作:

首先,您必须确保所有游戏都包含在与舞台相同的显示对象容器中,例如" Game"。 然后,您只需使用设备的最短尺寸作为参考重新缩放它。 瞧:

    public function createGame():void{          
        addChild(scaleAndAlign(new Game()));
    }

    public function scaleAndAlign(target:DisplayObject):DisplayObject{
        var scale:Number = 720 / stage.stageWidth;
        target.scaleX = 1 / scale;
        target.scaleY = 1 / scale;
        target.y = (stage.stageHeight - target.height) / 2;
        return target;
    }

小心!您的游戏的顶部和底部将被裁剪,以使您的应用程序适合整个设备的阶段。要测试它,请使用不同的设备分辨率 如果您对结果有任何疑问,请查看PlayStore上的Whack a Robot应用程序并查看结果。