【问题标题】:AS3: get browser window size?AS3:获取浏览器窗口大小?
【发布时间】:2011-05-16 14:25:05
【问题描述】:

我可以获取AS3中浏览器窗口的大小吗?

我发现的最佳方法是使用 Javascript 获取大小并将其作为 FlashVar 发送到 Flash。此方法的一个限制是,如果调整窗口大小,它不会给出当前大小。

有没有一种纯 Flash 方法可以做到这一点?

【问题讨论】:

    标签: flash actionscript-3 browser window


    【解决方案1】:

    如果您使用height: 100%; width:100% 嵌入您的瑞士法郎,您可以使用stage.stageWidthstage.stageHeight。如果不是这种情况,您可以使用 ExternalInterface 实现与 JavaScript 的通信。

    【讨论】:

      【解决方案2】:

      这取决于您是尝试将 swf 设置为全屏,还是仅仅出于其他目的获取窗口尺寸。

      如果您正在做全屏,您需要将您的stageScaleMode 设置为 NO_SCALE,并将您的 flash 对象嵌入到其高度和宽度参数设置为 100% 的 div 中。为了处理调整大小,您的 Flash 项目需要一个调整大小事件侦听器(应用于舞台),并且所有显示对象都需要响应该调整大小侦听器。一旦您的 swf 正确调整大小,如前所述,您可以使用 stage.stageHeight / stageWidth 在内部检索准确的尺寸。

      另一方面,如果您只想获取窗口的尺寸,则需要使用ExternalInterface 进行javascript 调用。 jQuery 有一些很好的工具可以快速获取屏幕尺寸。然后只需将该数据发送回闪存即可。请记住,javascript 也有一个 resize 事件,您可以使用它来强制改变 flash 中的状态。

      您在序列的初始部分是正确的 - 在加载时发送 flashvars,但要响应屏幕尺寸的变化,您需要应用这些技术之一。

      祝你好运

      【讨论】:

        猜你喜欢
        • 2016-03-07
        • 2015-04-20
        • 2010-10-24
        • 2012-01-17
        • 1970-01-01
        • 1970-01-01
        • 2017-04-15
        • 2023-04-07
        • 2011-11-19
        相关资源
        最近更新 更多