【问题标题】:Pros and cons of using embedded images instead of dynamic loading使用嵌入图像而不是动态加载的优缺点
【发布时间】:2010-09-26 06:13:29
【问题描述】:

我只是想知道使用嵌入式图像而不是动态加载有什么优点和缺点?因为在纯 AS3(没有 Flash IDE)上制作游戏时,手动嵌入所有需要的资产是一件很痛苦的事情......这会让你的代码草率,此外你无法控制自动更改 hud,例如,只有更改外部文件。

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

那么...您如何看待嵌入图像?请与我分享您的所有想法。

【问题讨论】:

    标签: actionscript-3 resources loading dynamic


    【解决方案1】:

    我相信动态加载图像是一种更好的方法。关于你所说的游戏问题,我同意你的看法,但是当你谈论整个 flash/as3 时,游戏只是众多事物中的一种,你确实如此。还有一些也接受多个文件,也许以后会允许更多。到目前为止,托管网站只是为了安全起见,不允许使用多种文件和格式。因此,如果您真的有其他文件,您可以将它们托管在其他地方并从您的主 swf 调用它们。

    但是,我不同意通过动态管理图像来使代码马虎的观点。当您通过 IDE 执行此操作时,IDE 正在为您编写代码,但您可能会意识到让 IDE 决定编写什么并不总是最好的。手动处理事情让您了解应用程序的所有入口和出口点。此外,您是否想在每次想要添加图像、进行更新等时打开 Flash IDE?

    我通常喜欢使用 IDE,因为它提供了很棒的工具来提高效率,并且更喜欢让代码完成所有管理/控制工作。是的,如果您有很多小图像(如在线 Flash 游戏中),嵌入是更好的方法。

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

    【讨论】:

    • 这确实对我有帮助,现在我有更好的方法来解决这个问题。在加密部分你是绝对正确的,今天他们可以解密一切。感谢您分享您的想法。
    【解决方案2】:

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

    正如您所知,嵌入资产会增加您的 swf 的大小,我只会考虑对大小几乎不是问题的图标类型图像执行此操作。

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

    【讨论】:

    • 你说得对,灵活就是这个词。感谢您分享您的想法。
    【解决方案3】:

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

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

    【讨论】:

    • 当你拥有大量资产时,痛苦就来了。感谢您分享您的想法。
    猜你喜欢
    • 1970-01-01
    • 2011-04-11
    • 2011-01-15
    • 1970-01-01
    • 2011-02-12
    • 2015-08-20
    • 1970-01-01
    • 2011-07-10
    • 1970-01-01
    相关资源
    最近更新 更多