Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 组织、加密、压缩外部资产并在运行时加载它们_Actionscript 3_Flash_Air_Flash Cs5 - Fatal编程技术网

Actionscript 3 组织、加密、压缩外部资产并在运行时加载它们

Actionscript 3 组织、加密、压缩外部资产并在运行时加载它们,actionscript-3,flash,air,flash-cs5,Actionscript 3,Flash,Air,Flash Cs5,好的,我不确定这个话题是否足够清楚。我正在制作一个基于Flash的单人游戏。它是一个可执行文件(AIR应用程序),可以直接安装和运行,而不是在浏览器上播放。因此,我有大量的图像、视频和其他东西,最近我开始使用Loader类从外部加载它们。发布的AIR安装程序并不介意外部的东西,所以我在安装后手动复制它们。这从一开始就可能是错误的,但我不知道如何将它们结合起来。我以后可能会想办法解决这个问题,这不是主要问题,但如果你能回答这个问题,我会加倍感谢你 无论如何,真正的问题是,我不希望玩家看到储存在资源

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

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


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

您甚至可以在Flash中使用[Embed]元标记。如果您不想从FlexSDK中引入一些小类,那么有几种技术可以使用,比如您在这里看到的


请注意,以这种方式嵌入的资源必须嵌入到第N帧(取决于您的fla/xfl设置)。你不能在主权财富基金的整个生命周期内分摊他们的负担。

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