【问题标题】:How to implement Caching while loading SWCs dynamically如何在动态加载 SWC 时实现缓存
【发布时间】:2014-07-15 07:30:37
【问题描述】:

我正在我的主 SWF 中加载我所有 SWC 的动态加载,以便更快地加载主 swf,但是现在我需要在本地机器中缓存我的所有 swcs 以加快速度。

private function loadAssets():void 
    {   
        swcObj=new Object();
        swcObj.swcPath='assets/swc/1.swc';
        swcObj.className="Part_0_1";
        swcs.push(swcObj);

        swcObj=new Object();
        swcObj.swcPath='assets/swc/2.swc';
        swcObj.className="0_2";
        swcs.push(swcObj);

        swcObj=new Object();
        swcObj.swcPath='assets/swc/3.swc';
        swcObj.className="0_3";
        swcs.push(swcObj);
    }

然后我正在使用这个数组来使用我项目中的所有类,但是我不知道如何缓存这些 swcs 以便更快地使用,如果有人有想法,请分享。

【问题讨论】:

    标签: actionscript-3 flash caching flashdevelop swc


    【解决方案1】:

    其实浏览器已经为你做了这个预缓存,你不需要付出额外的努力。所以,只需正常加载它们,不用担心缓存。但是,您可以激励用户增加他们的本地浏览器缓存,以潜在地减少在加载资产时等待的时间,但如果用户每天观看 3 吨 YouTube,这将无济于事。

    【讨论】:

      【解决方案2】:

      SWC 文件不适用于动态加载。 它们是静态库,可以在 swf 中使用 -include-librarieslibrary-path 的 mxmlc 选项或 - 因为您似乎正在使用 FlashDevelop - SWC Include LibrariesSWC LibrariesProject>Compiler options . SWC 可能包含代码(类)、资产(符号/位图/声音...)或两者的组合。

      通过 flash.display.Loader 动态加载资源 您可以将 Loader 用作在舞台上添加的简单 DisplayObject 实例: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Loader.html#includeExamplesSummary

      ,或将其 ApplicationDomain 用作类定义库,允许您随意创建实例: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/system/ApplicationDomain.html#includeExamplesSummary

      在大多数情况下,从浏览器缓存就足够了,除非您有非常特殊的需求

      最后,优化加载时间有不同的方法,其中一种是使用一个小的 swf 作为加载器/主菜单,并像您似乎尝试做的那样按需加载其余内容,但您也可以创建具有多个帧的单个 swf,将由 Flash 播放器“流式传输”,例如: 第一帧尽可能小,仅保留几 kb 用于启动屏幕/徽标/加载/您想要的任何内容,以使初始空白屏幕尽可能短,然后第二帧包含主要内容。您可以使用例如事件扩展此系统

      • 两个级别的预加载器:第一个只有徽标的小框架,第二个带有进度条,如果需要,还有完整的背景
      • 如果您正在制作游戏,则在一个框架中拆分主屏幕/菜单等内容,在另一个框架中拆分游戏内容,以便在您已经显示菜单时继续加载游戏内容

      【讨论】:

        猜你喜欢
        • 2015-12-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-12
        • 2017-06-13
        • 1970-01-01
        • 1970-01-01
        • 2020-02-11
        相关资源
        最近更新 更多