繁体   English   中英

是否可以使用mxmlc编译FLA?

[英]Is it possible to compile a FLA using mxmlc?

让我给您一些有关我首先要做什么的解释。 我正在研究基于AS3的新体系结构,并且试图解决过去与AS2有关的一些问题。 每个屏幕都有自己的FLA,并且多个屏幕引用某些组件。 例如一个Button Button某些内容发生更改时,就会发生此问题。 每个使用Button屏幕都必须重新发布,否则由于Flash类定义的工作方式,它有可能无法接受更改:在运行时加载的第一个Button定义是所有东西都使用的。 因此,如果首先加载使用旧Button的屏幕,则所有内容都将使用旧定义,并且一切都会中断。 由于有很多FLA,而且它们之间的联系并不总是很明显,因此可能需要一个小时或更长时间才能弄清楚需要导出哪些FLA进行修复。 因此,您可以看到,这是一个主要的耗时,需要解决。

我了解到,在发布FLA时,可以在AS2中使用exclude.xml文件从SWF中排除类定义。 这样,我想出了一种架构,可以在存在Shell SWF的地方进行设置,这是定义Button类的唯一位置。 然后, Shell将在所有其他屏幕中加载所有排除了Button屏幕,以便它们仅使用Shell版本。 这样可以确保如果Button任何内容发生更改,那么唯一需要重新发布的内容就是Shell ,然后其他所有内容都可以在运行时进行更改。

一切都很好,除了使用AS3时exclude.xml文件不再起作用。 因此,我转向MXMLC,它可以在编译Shell SWF时使用-link-report编译器选项来构建exclude.xml,然后将XML传递给-load-externs ,从而模仿exclude.xml功能。每隔一个屏幕以排除Shell 我发现这样做的唯一方法是通过从Flash发布所有内容作为SWC,然后使用-include-libraries从SWC中构建SWF以及-load-externs来排除我不想成为的所有内容那里。 这确实可以解决问题,只是以SWC形式发布时不包括在时间轴上或更具体地在阶段中定义的任何内容。 在Flash的时间轴上,通过在不同的部分上分层并在随后在ActionScript中引用的所有位置放置命名的MovieClips ,从而完成了许多设计工作,但就我而言,SWC并未获得任何此类信息。可以告诉。

所以现在我们来问我的问题。 是否有某种方法可以使用MXMLC编译FLA中的所有信息,以便我可以排除所有内容,同时仍然可以在时间轴/阶段设计所有内容?

我给格兰特·斯金纳(Grant Skinner)发送了一封电子邮件,他基本上说,他唯一知道排除AS3的方法就是使用RSL或SWC。 由于时间长了,他不完全确定哪种方法有效,所以我没有确切的答案。 我花了一段时间尝试使用SWC来解决问题,但是我并没有从中获得任何可观的结果,因此我暂时放弃了。

需要注意的重要部分是,实际上不可能运行MXMLC来构建FLA。 或至少在可能的情况下,它需要很少有人知道的非常复杂的知识。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM