CSS引用的Flex 3 SWC资产

时间:2013-10-14 16:02:17

标签: css actionscript-3 flex3

我想将资产与项目分开。所以我创建了一个名为 - Styles的项目。样式库由文件夹分隔。每个文件夹都包含应用程序的不同外观的资产,具体取决于将使用它的公司。

每家公司都有一个CSS。基本上每个CSS都有相同的样式名称,但指向不同的资产位置。

当Styles项目作为源路径链接到项目时,一切都很有效。

构建样式库后,将其添加到项目中并删除它开始给我的源路径 - 无法解决 - 每个资产的错误。

SWC内资产的路径有何不同? CSS文件包含在同一个SWC中。为什么它在项目编译为项目文件夹时识别路径,但在使用样式库时不会识别。

1 个答案:

答案 0 :(得分:1)

您必须在swc中添加资产并在catalog.xml中添加路径信息(在swc中)。在Flash Builder中,您可以轻松完成。我假设您为资产创建了flex lib项目

  • 打开项目 - >属性 - >构建路径
  • 将您的资源文件夹添加到“源路径”(这样您就可以在列表中的资产标签中看到您的资产文件夹)
  • 打开资产标签并选择您的资产文件夹
  • 构建您的项目

在此操作之后,您可以使用winrar或任何包阅读器打开swc来检查您的资产和catalog.xml,在catalog.xml中会有一个元素,如

<file path="default.png" mod="1378205812486"/>

您必须使用此路径加载或嵌入资产。

- 旧对话

好吧,我错过了“无法解决”的错误。看起来你正在嵌入assets.it因为你的嵌入代码不在swc lib中而无法正常工作。 swc lib是一个包,它保存你的actionscript类,让你从主项目到达而不是资产或其他文件类型。但是如果你将所有资产作为类添加到swc中,你可以从项目中获取它们,你可以使用[Embed]标签轻松地创建它。但这样css文件就没用了。如果你的css中有这样的资源/ img.png这样的路径,它将始终在swf附近查找资源文件夹。这是正常的,如果swc没有外部文件的路径信息,它无法从swc中找到资产