2013-10-14 20 views
2

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

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

当Styles项目作为源路径链接到项目时,一切正常。

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

SWC内部资产的路径有什么不同? CSS文件包含在同一个SWC内。为什么它在将项目编译为项目文件夹时识别路径,但是一旦使用了Styles库,路径就不会被识别。

+0

您的SWC编译没有错误?你能检查一下吗?如果你右键点击lib项目>属性>构建路径>类(所有应该被选中)Resources> all应该被选中? – Zeus

+0

它编译时没有错误,并选择了所有资源。 – Dave

回答

1

您必须在swc中添加资源并在catalog.xml中添加路径信息(在swc中)。在Flash Builder中,您可以轻松完成。我假设你的资产

创建Flex项目的lib
  • 开放项目 - >属性 - >构建路径
  • 增加你的资产文件夹“源路径”(这样你就可以看到列表,它的资产的资产文件夹标签)
  • 开放资产标签,并选择您的资产文件夹
  • 构建项目

此操作后,您可以打开SWC用WinRAR或任何包装的读者来检查你的资产和catalog.xml中会有一个ELE在catalog.xml文件中有如

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

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

- 过去的对话

确定我错过了 “无法解决” 的错误。看起来像你嵌入assets.it不工作,因为你的嵌入代码不在swc lib。 swc lib是一个包让你的actionscript类让你从主项目到达资产或其他文件类型。但是如果您将所有资产作为类添加到该swc中,则可以通过项目访问它们,并且可以使用[Embed]标记轻松制作它。但这种方式的css文件没用。如果你在css中有这样的资源/ img.png路径,它会一直寻找swf附近的资源文件夹。这是正常的,它不能找到从SWC的资产,如果SWC没有外部文件的路径信息

+0

如果我使用你的方法,我需要通过我的代码并将样式指向嵌入类。我想通过CSS来引用资产。使用这个类来嵌入我的图标并不能解决我的错误 - 无法解析源'Embed(source ='')'。没有办法将主要项目外部的资产嵌入到SWF或SWC或某种库中。 – Dave

+0

我想问你是否检查过你的swc是否有任何资产?如果不是你必须为你的资源项目配置一些构建属性我假设你使用的是Flash Builder。并为您的资产创建了“flex lib项目”。首先您需要将您的资产文件夹添加到“源路径”以在“资产”选项卡中查看。如果你的资源在项目源(src)中,你不需要那样做。在此操作之后,您需要打开资产选项卡,并且在所有这些swc都将包含catalog.xml的路径信息之后,需要选择正在使用的资产。但我没有用CSS测试它,我没有时间这样做。 –

+0

我用WinRar打开了swc。资产在那里。我也在资产标签上选择了它们。我意识到的是,当我用FlashDevelop打开该库时,资源不在此符号文件夹中。但是EmbedClass是。嗯,我想没有人使用过外部资产库。这很奇怪。无论如何,我会多看一些你的答案,也许我可以在这个方向上做点什么。 – Dave