使用嵌入式图像代替动态加载的优缺点

时间:2010-09-26 06:13:29

标签: actionscript-3 resources loading dynamic

我只是想知道使用嵌入式图像而不是动态加载有什么优缺点?因为在纯AS3(没有Flash IDE)上制作游戏时,手动嵌入所需的所有资产很痛苦......这会使你的代码变得邋,,除了你没有控制权来自动改变hud,例如,只有更改外部文件。

但是我听说有些网站只允许你上传一个swf,所以你不能拥有外部图像。我也听说有些人担心用户下载他们的艺术......但据我所知,请纠正如果我错了,他们也可以下载它们,如果他们用反编译器攻击swf。将它外置,您可以加密图像,并在代码上解密,因此如果他们尝试下载,他们只会获得加密代码。

那么......你怎么看待嵌入图像?请将您的所有想法分享给我。

3 个答案:

答案 0 :(得分:1)

我认为动态加载图像是一种更好的方法。我同意你关于你所说的游戏问题,但是当你谈到flash / as3作为一个整体时,游戏只是众多游戏中的一个,你做的。还有一些也接受多个文件&也许更多将允许以后。截至目前,托管网站只是安全方面,不允许多个文件和格式。所以如果你真的有其他文件,你可以把它们托管在其他地方。从你的主要瑞士法郎打电话给他们。

然而,我无法通过动态管理图像来使代码变得模糊。当您通过IDE执行此操作时,IDE正在为您编写代码,但正如您可能意识到让IDE决定写入的内容并不总能做到最好。手动处理东西让你理解所有的进入和放大应用的退出点。此外,您是否希望每次要添加图像,进行更新等时打开Flash IDE。

我通常喜欢使用IDE提供的优秀工具来提高工作效率。更喜欢让代码完成所有管理/控制工作。是的,如果你有很多小图片(如在线flash游戏),嵌入是更好的方法。

就安全性而言,如果您使用的加密算法可以通过反编译swf找到外部加载的文件。因此,在安全的情况下,您最好的选择通常是使用第三方软件加密swf,这可以说增加了防止材料被盗的机会。因此,如果您真的使用第三方工具加密swf,那么这两种方式都是可以接受的。

答案 1 :(得分:0)

我认为这两种方法都有效,主要取决于您的资产。

如你所知,嵌入资源会增加你的swf的大小,我只会考虑为尺寸几乎不成问题的图标类型图像做这个。

对于更大的图像,我肯定会选择动态加载,我也发现它更灵活。

答案 2 :(得分:0)

如果我有很多小图标,我会嵌入它们。想象一下运行时的请求数量,其中任何一个都可能超时。嵌入的痛苦,在哪里?源中的单个Embed标记或资产的CSS。必须嵌入“常量”资产,加载“可变”资产。

编辑:好的,我明白了。嵌入大量资产的痛苦。这是我想到的一个想法......即使您动态加载某些内容,您还需要一些包含所有文件名的列表?您可以获取文件列表并生成具有public static const属性的[Embed]成员的类,这非常简单。然后你在项目中使用那个类,瞧,一切都在这个地方。也许这有帮助。