1

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

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

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

4

2 回答 2

0

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

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

于 2012-06-21T02:42:44.217 回答
0

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

于 2012-06-21T09:50:35.083 回答