【问题标题】:Organizing, encrypting, compressing external assets and loading them on runtime组织、加密、压缩外部资产并在运行时加载它们
【发布时间】:2012-06-21 01:42:26
【问题描述】:

好的,我不确定主题是否足够清楚。我正在制作基于 Flash 的单人游戏。它是一个可执行文件(AIR 应用程序),可以直接安装和运行,而不是在浏览器上播放。所以,我有大量的图像、视频和东西,最近我开始使用 Loader 类从外部加载它们。已发布的 AIR 安装程序不介意外部的东西,所以我在安装后手动复制它们。这可能从一开始就是错误的,但我不知道如何合并它们。稍后我可能会以某种方式解决,这不是主要问题,但如果您回答这个问题,我将不胜感激。

无论如何,真正的问题是,我不希望玩家看到存储在资源文件夹中的游戏中使用的图像和视频。有没有办法让它们加密或隐藏在一些类似包的文件中(如许多大型游戏中的 .DAT 文件)?因此,普通玩家无法访问或弄乱它们。当然,我仍然应该能够在运行时加载它们。

我很喜欢这种 .SWC 格式。但是,我不认为这是我要找的。任何人都可以轻松地将该文件导入 Flash 项目。

【问题讨论】:

    标签: actionscript-3 flash air flash-cs5


    【解决方案1】:

    您甚至可以在 Flash 中使用 [嵌入] 元标记。如果您不想从 Flex SDK 中引入一些小类,可以使用多种技术,例如您在此处看到的 http://nascode.com/2010/02/01/embedding-asset-at-compile-time-in-pure-as3-project/

    请注意,以这种方式嵌入的资产必须嵌入到第 N 帧(取决于您的 fla/xfl 设置)。您无法在您的 swf 的整个生命周期内分摊它们的负载。

    【讨论】:

      【解决方案2】:

      您可以使用 [Embed] 将小资源放入您的应用中。但对于大型资产,我会使用带有加密资产的 zip 文件。 (不是加密的 zip,因为它们会占用大量内存来解密,而是加密单个文件。)我使用 airxzip 进行压缩(支持处理存档中的单个文件)和 as3crypto 关于 ActionScript 中唯一的加密库。使用像 RC4 这样的对称算法,它足够快(10-20 MB 秒解密。)
      您需要一个密钥来加密资产。如果您使用它们进行激活,它可以硬编码到应用程序中或从序列号中解码。
      此外,档案可以命名为 .DAT 或以某种方式更神秘以吓跑 WinZip 用户 :)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-07-25
        • 1970-01-01
        • 1970-01-01
        • 2012-09-17
        • 2012-04-11
        • 1970-01-01
        • 2012-06-04
        • 1970-01-01
        相关资源
        最近更新 更多