2013-10-14 1 views
2

내 프로젝트에서 자산을 분리하고 싶습니다. 그래서 저는 Styles라는 프로젝트를 만들었습니다. 스타일 lib는 폴더별로 구분됩니다. 각 폴더에는 응용 프로그램을 사용하는 회사에 따라 응용 프로그램의 모양이 다른 자산이 들어 있습니다.CSS에서 참조하는 Flex 3 SWC 자산

각 회사마다 CSS가 있습니다. 기본적으로 각 CSS는 동일한 스타일 이름을 사용하지만 다른 자산 위치를 가리 킵니다.

Styles 프로젝트가 소스 경로로 연결된 경우 모든 것이 잘 작동합니다.

일단 스타일 라이브러리를 빌드하고 프로젝트에 추가 한 다음 각 자산에 대해 오류 - 해결할 수 없음 -을 제공하는 소스 경로를 제거하십시오.

SWC 내부의 자산 경로의 차이점은 무엇입니까? CSS 파일은 동일한 SWC 안에 들어 있습니다. 프로젝트가 프로젝트 폴더로 컴파일 될 때 경로를 인식하지만 스타일 라이브러리가 사용되지 않는 이유는 무엇입니까?

+0

SWC가 오류없이 컴파일됩니까? 이것을 확인할 수 있습니까? lib 프로젝트> 속성> 빌드 경로> 클래스 (모두 선택해야 함)를 마우스 오른쪽 버튼으로 클릭하면 Resources> all을 선택해야합니까? – Zeus

+0

오류없이 컴파일되고 모든 리소스가 선택됩니다. – Dave

답변

1

swc에 에셋을 추가하고 catalog.xml (swc)에 경로 정보를 추가해야합니다. Flash Builder에서는 쉽게 수행 할 수 있습니다. 나는 당신이 당신의 자산

에 대한 플렉스 lib 디렉토리 프로젝트를 생성 가정
  • 공개 프로젝트 -> 속성 -> "소스 경로"(그래서 당신은 자산에있는 목록에서 자산 폴더를 볼 수 있습니다 할
  • 경로를 구축하여 자산 폴더를 추가 탭)
  • 열려있는 자산 탭을 선택하여 자산 폴더
  • 당신이 당신의 자산을 확인 WinRAR과 또는 패키지 리더 SWC 열 수와있을 것 catalog.xml이 작업 후

프로젝트 구축 엘 catalog.xml의 내용은

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

과 같이 유용합니다. 자산을로드하거나 삽입하려면이 경로를 사용해야합니다.

- 오래된 대화

이 좋아 내가 "확인할 수 없습니다"오류를 놓쳤다. embedding assets.it이 임베딩 코드로 인해 작동하지 않는 것처럼 보입니다. swc lib 밖에 있습니다. swc lib는 자산 또는 다른 파일 유형이 아닌 기본 프로젝트에서 도달 할 수 있도록 actionscript 클래스를 유지하는 패키지입니다. 하지만 그 클래스에 모든 애셋을 클래스에 추가하면 프로젝트에서 접근 할 수 있고 [임베드] 태그로 쉽게 만들 수 있습니다.하지만이 방법으로 CSS 파일은 쓸모가 없습니다. 이 리소스/img.png와 같은 경로가 CSS에 있으면 swf 근처의 리소스 폴더를 항상 찾습니다. swc에 외부 파일에 대한 경로 정보가없는 경우 swc에서 자산을 찾을 수 없습니다.

+0

내가 당신의 접근법을 사용한다면 나는 내 코드를 거쳐 embed 클래스를 가리킬 필요가있다. CSS로 자산을 참조하고 싶었습니다. 이 클래스를 사용하여 내 아이콘을 삽입해도 내 오류는 해결되지 않습니다. 소스 'Embed (source =' ')를 해결할 수 없습니다. SWF 또는 SWC 또는 일종의 lib에 임베딩하는 기본 프로젝트 외부에서 자산에 접근 할 수있는 방법이 없습니까? – Dave

+0

내가 거기에 자산이 있는지 확인 했습니까? 리소스 프로젝트에 대한 일부 빌드 속성을 구성해야한다면 플래시 빌더를 사용한다고 가정합니다. 자산에 대한 "flex lib 프로젝트"를 만들었습니다.먼저 "assets"탭에서 "source path"에 자산 폴더를 추가해야합니다. 프로젝트 소스 (src)의 자산이 그렇게 할 필요가 없다면 이 작업을 수행 한 후에는 자산 탭을 열어야하며이 모든 swc에 catalog.xml에 대한 경로 정보가 포함 된 후에 사용중인 자산을 선택해야합니다. 하지만 난 그걸 할 시간이 없어 CSS로 테스트를하지 않았다. –

+0

WinRar로 swc를 열었습니다. 자산이 있습니다. 애셋 탭에서도 선택했습니다. 내가 깨달은 점은 FlashDevelop로 lib를 열면 자산이이 심볼 폴더에 있지 않다는 것입니다. 그러나 EmbedClass는 있습니다. 글쎄, 아무도 외부 자산 lib를 사용하지는 못한다고 생각합니다. 그것은 단지 이상합니다. 어쨌든 고마워, 내가 그 방향으로 뭔가를 할 수 있을지 모르겠다. – Dave

관련 문제