AIR iOS缩放整个内容,看不到任何东西

时间:2015-01-15 17:54:08

标签: ios iphone actionscript-3 air

我使用最新版本的AIR(16.0.0.272)创建了一个应用程序,我正在尝试扩展内容以适应iPhone的任何分辨率,从4到6+ 在桌面调试中,我看到所有完美缩放都会改变舞台维度来测试我的解决方案。尝试我的iPhone 5我看不到缩放的内容。 如果我评论调整大小功能一切正常(我看到所有的内容,显然没有缩放)。 那是我的解决方案

private function resize(e:Event=null):void{
        w=stageW();
        h=stageH();
        var initW:Number=640;
        var initH:Number=960;
        //bg.img.width=w;
        trace(w+"/"+h);
        main.y=62;
        //main.x=w*.5-320;
        bg.width=w;
        bg.height=h;
        menu.bg.width=w;
        menu.bg.height=h;
        var divisor:Number = 640/w;
        main.width = Math.floor(main.width / divisor);
        main.height = Math.floor(main.height / divisor);

} 我试图调整调整大小调用以在iPhone上测试它,但在2000ms之后我再也看不到任何东西。 在此之后我尝试了一个监听器addEventListener(Event.ADDED_TO_STAGE,init);在构建UI等操作结束时调用上面的resize。 无法理解为什么调整包含我的应用内容的动画片段会使其从iPhone而不是从桌面消失。 希望在一个解决方案 提前致谢

2 个答案:

答案 0 :(得分:0)

Capabilities.screenResolutionX和Capabilities.screenResolutionY是应该用于应用程序的屏幕宽度和高度的内容。

注意:X和Y不会随着旋转而改变 - 当屏幕旋转时它们会保持不变,因此获取屏幕尺寸的代码将如下所示:

if (bStagePortrait) {
    iScreenWidth = Capabilities.screenResolutionX;
    iScreenHeight = Capabilities.screenResolutionY;
} else {
    iScreenWidth = Capabilities.screenResolutionY;
    iScreenHeight = Capabilities.screenResolutionX;
}

还可以使用此代码阻止应用调整大小或移动:

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

答案 1 :(得分:0)

由于各种原因,您的调整大小功能可能会被多次调用。

main.width = Math.floor(main.width / divisor);
main.height = Math.floor(main.height / divisor);

将不断缩小主剪辑。使用常数或数字进行大小计算可能更好。不过,我通常会使用缩放功能。

main.scaleX = main.scaleY = percentStageScaled;