【问题标题】:Why does Adobe Flex strip ActionScript from Flash embed symbols when compiling?为什么 Adob​​e Flex 在编译时会从 Flash 中去除嵌入符号的 ActionScript?
【发布时间】:2010-11-18 02:43:25
【问题描述】:

我想要一个动画在循环时调度自定义事件。很明显,甚至 trace() 都没有运行。经过一番搜索,我在 Adob​​e 找到了以下内容:
http://livedocs.adobe.com/flex/3/html/help.html?content=embed_4.html
“如果 SWF 文件包含任何 ActionScript 代码,Flex 会在编译期间打印一条警告,然后从嵌入符号中去除 ActionScript。这意味着您只能嵌入符号本身。”

我还找到了 Grant Skinner 的解决方法:
http://gskinner.com/blog/archives/2007/03/using_flash_sym.html

所以,我可以继续,但我仍然想知道。为什么在使用元标记将符号嵌入 Flex 应用程序时,mxmlc 从 Flash 编译资源中去除 ActionScript?

【问题讨论】:

    标签: apache-flex flash mxml embed mxmlc


    【解决方案1】:

    抱歉,回复太晚了,但既然我写了那段代码,我可以回答。 :-)

    基本上,有两个答案。

    1. 对于包含 AS2 字节码的旧 SWF 资产,尝试将字节码转换为 AS3 的工作量太大。我假设这不是你关心的用例。

    2. 对于链接到 AS3 字节码的 SWF 资产,基本问题是不再有依赖信息,因此当我们克隆资产时,我们不知道还需要提取什么。因为 Flash 可以导出 SWC,所以我认为这是一个更强大的工作流,用于将带有代码的资源从 Flash 获取到 Flex。 (看一眼 SWC 文件,您会看到一个描述链接器使用的依赖关系的 XML 文件。)

    【讨论】:

      【解决方案2】:

      这可能是性能问题。要加载 swf 资源而不剥离它,请使用 SWFLoader 或 Loader 动态加载它,而不是嵌入它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-01-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-30
        相关资源
        最近更新 更多