【问题标题】:AIR iOS scaling entire content, can't see anythingAIR iOS 缩放整个内容,看不到任何东西
【发布时间】:2015-01-15 17:54:08
【问题描述】:

我使用最新版本的 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 上对其进行测试,但在 2000 毫秒后我什么也看不到。 在此之后,我尝试了一个监听器 addEventListener(Event.ADDED_TO_STAGE, init);在我构建 UI 等操作结束时调用上面的调整大小。 无法理解为什么调整包含我的应用内容的影片剪辑的大小会使其从 iPhone 上消失,而不是从桌面上消失。 希望有解决方案 提前致谢

【问题讨论】:

  • 你是如何获得舞台尺寸的?
  • stage.stage的宽度和高度,和往常一样。
  • 试试 stage.fullScreenWidth / fullScreenHeight

标签: ios iphone actionscript-3 air


【解决方案1】:

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;

【讨论】:

  • 谢谢,它有效。但我还有另一个问题:我第一次启动应用程序时内容没有出现,第二次一切正常。我认为这与时间有关:无法及时检索显示尺寸。我尝试使用 setTimeout 并立即查看,但我过去尝试过但没有结果。请问你有什么建议?再次感谢
  • 代码在阶段可用之前运行?监听 Event.ADDED_TO_STAGE 可能会解决您的问题。
【解决方案2】:

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

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

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

main.scaleX = main.scaleY = percentStageScaled;

【讨论】:

    猜你喜欢
    • 2017-01-12
    • 1970-01-01
    • 1970-01-01
    • 2022-11-29
    • 1970-01-01
    • 1970-01-01
    • 2019-04-19
    • 2016-01-15
    • 2021-10-24
    相关资源
    最近更新 更多