【问题标题】:Stop flash content from loading - AS2停止加载 Flash 内容 - AS2
【发布时间】:2011-04-07 23:07:42
【问题描述】:

我有一个要嵌入网页的 Flash 文件,但是,我希望它在用户点击它时加载(这将运行预加载器) - (比如点击 youtube 视频上的播放)

它是一个加载 XML 数据的 flash 文件,图形繁重。

我不确定唯一的方法是通过另一个 swf 加载 flash 文件,即 flash 容器 -> 单击 flash 容器以使用预加载器加载 flash 文件。

有什么建议吗?

【问题讨论】:

    标签: flash actionscript-2


    【解决方案1】:

    您可以在电影中已经存在的帧之前添加一个额外的帧,并使用以下方法将其保持在该位置:

    stop();
    

    然后,在您的舞台上添加一个播放按钮,并执行类似的以下操作:

    on (release) {
        gotoAndPlay("your_loader");
    }
    

    uploaded a demo project来试试看。

    【讨论】:

    • 这不起作用,它告诉停止播放时间线,而不是正在加载的数据。用带宽分析器试试,你会看到
    • 位于第 5 帧(在我的图像上)的代码只有在时间线到达“加载器”帧时才会执行。您是如何加载 XML 数据的?
    • 在第 2 帧的影片剪辑中。我在第 1 帧上放置了一个停止动作,一个播放按钮转到第 2 帧(用于 XML 和图像的预加载器),当预加载器完成时它转到第 3 帧。
    • 我试过了,你的例子不起作用。如果您将大图像拖到第二帧之后,您会注意到带宽分析器显示立即加载。
    • 我的示例是关于在框架“加载器”处动态加载图像/swf 并避免立即加载。如果将图像拖到场景中,它确实会立即加载。
    【解决方案2】:

    我的第一个冲动是使用图像或显式大小的 DOM 元素作为占位符,并使用一些 Javascript 在单击时在 Flash 小程序中交换。这可以保证解决您的加载问题以及推迟启动 Flash 播放器的开销。 (这会让像我一样思考但不了解 FlashBlock 的用户很高兴)

    使用 jQuery,它就像

    $('#flash_placeholder').click(function() {
        $(this).replaceWith(flash_applet_markup);
    });
    

    ...以及像不透明动画这样的悬停行为也是微不足道的。

    【讨论】:

    • 听起来不错,我会试一试!
    猜你喜欢
    • 2014-01-24
    • 1970-01-01
    • 1970-01-01
    • 2010-10-24
    • 2020-01-22
    • 2012-05-14
    • 2019-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多