Flash pro是否会自动调整所有设备的游戏分辨率?

时间:2014-03-10 04:45:18

标签: android actionscript-3 flash resolution

我使用flash pro创建了我的游戏,我一直在用我的智能手机测试它,它的大小是480x800。所以我将FLA文件中的文档大小设置为480x800。

但我想知道我的应用是否会自动调整其分辨率以适应1280x720和960x640等其他尺寸。

如果没有,我该如何制作它以便自动调整其分辨率以尽可能地适应任何智能手机的尺寸,但不会失去480x800的比例。所以我希望其他智能手机的任何一侧都有一些空的空间。或者我想我可以使背景图片比480x800更大“额外”?

哦,我的智能手机是LG Android

1 个答案:

答案 0 :(得分:0)

不,你应该自己做。你也应该设计游戏,以便在各种屏幕上看起来都不错。

//Startup of the game, initial settings for the stage, 
//and getting screen size
public function Main() {
    addEventListener(Event.ADDED_TO_STAGE, onAdded);
}

private function onAdded(e:Event):void {
    removeEventListener(Event.ADDED_TO_STAGE, onAdded);

    stage.align = StageAlign.TOP_LEFT;
    stage.scaleMode = StageScaleMode.NO_SCALE;

    //Width and Height
    trace(stage.stageWidth, stage.stageHeight);
}

适合任何屏幕尺寸的背景:

private function fitBackground(background:Bitmap, screenWidth:uint, screenHeight:uint):void {
    var availableRatio:Number = screenWidth / screenHeight;
    var componentRatio:Number = background.width / background.height;
    if (componentRatio < availableRatio) {
        background.width = screenWidth;
        background.height = screenWidth / componentRatio
    } else {
        background.width = screenHeight * componentRatio;
        background.height = screenHeight;
    }

    background.x = (screenWidth - background.width) >> 1;
    background.y = (screenHeight - background.height) >> 1;
}

//Usage
fitBackground(myBackground, stage.stageWidth, stage.stageHeight)