【问题标题】:Assets from SWC not included in SWF in Flash CS6来自 SWC 的资源不包含在 Flash CS6 中的 SWF 中
【发布时间】:2013-01-22 12:47:15
【问题描述】:

我有一个包含符号 assets.UI.something 的资产 FLA 文件,并且有一个相应的类 assets/UI/something.as。 当我将它发布到 SWC 中时,我可以将其解压缩并查看(在 catalog.xml 中)该符号是否存在。

我还有一个主文件,其中我的资产 SWC 包含在发布设置中(合并到代码中)。 但是当我运行它时,我可以看到该符号未包含在最终的 SWF 中。

我尝试了很多方法,最终我发现,如果我在制作 SWC 之后但在编译最终 SWF 之前删除 AS 类文件 (assets/UI/something.as),那么符号会包含在SWF...

任何想法为什么会发生以及如何解决它?

谢谢!

【问题讨论】:

    标签: actionscript-3 swc flash-cs6


    【解决方案1】:

    似乎您的符号被编译器在编译应用程序时看到的类文件覆盖。因此,当您编译您的 swc 时,一切正常,所有资产都在那里,但是当您编译您的应用程序时,您在编译 swc 时拥有的所有相同类的其他版本,但现在没有来自 FLA 的资产链接到它们. 只需将所有与 SWC 相关的内容(fla 和所有 as 文件)移到您的应用程序源路径之外。

    【讨论】:

    • 是的,这正是似乎正在发生的事情,即使它是相同类的相同版本。但这只是没有意义 - 它是具有许多共享类、共享配置等的同一个项目。感谢您的回答!
    • 我遇到了同样的问题。我在徘徊,你是如何解决这个问题的?
    • 贾斯汀 - 我还没有找到解决方案,除了在编译之前删除类文件。这不是一个真正的解决方案,更像是一个丑陋的解决方法......希望找到更好的方法。
    • 我认为它实际上是一个功能。有时,使用您自己的版本覆盖 SWC 中的类很有用,您可以通过提供自己的 .as 文件来做到这一点。这里的问题是编译器无法访问您在 FLA 中拥有的资产,只能访问类本身。因此,解决方案是在应用程序源路径中没有任何与资产相关的类。我相信您仍然可以通过在您的资产库源路径中包含应用程序 src 在资产库和您的应用程序之间共享类。
    【解决方案2】:

    也许您需要更改链接方法: 文件 -> 发布设置 -> 动作脚本设置 更改默认链接以合并到代码中并尝试

    【讨论】:

      猜你喜欢
      • 2013-09-04
      • 2010-09-14
      • 1970-01-01
      • 2011-09-07
      • 2019-09-23
      • 2010-12-22
      • 1970-01-01
      • 2013-08-26
      • 1970-01-01
      相关资源
      最近更新 更多