미니 프레임 용 Flex 프레임 워크를 구축 할 때, 사용하기 위해 swf 파일에서 심볼을 추출하기 전에 한 묶음의 그래픽 애셋 (무비 클립 심볼)을 단일 swf 파일로 묶어 Flex 어플리케이션에로드 할 계획입니다 내 신청서에. 내 질문은 이것입니다 : 어떻게 이것을 액션 스크립트를 통해합니까?swf 파일에서 자산을 추출 하시겠습니까?
감사합니다.
미니 프레임 용 Flex 프레임 워크를 구축 할 때, 사용하기 위해 swf 파일에서 심볼을 추출하기 전에 한 묶음의 그래픽 애셋 (무비 클립 심볼)을 단일 swf 파일로 묶어 Flex 어플리케이션에로드 할 계획입니다 내 신청서에. 내 질문은 이것입니다 : 어떻게 이것을 액션 스크립트를 통해합니까?swf 파일에서 자산을 추출 하시겠습니까?
감사합니다.
EMBED를 사용하고 싶지 않고 런타임에 자산을로드하지 않으려면 swf를 SWC로 내보내는 것이 좋습니다.
이렇게하면 actionscript에서 SWC 파일을 탐색 할 수 있습니다. 다른 무비 클립 안에있는 하위 무비 클립이있는 컴파일 시간에 이벤트를 확인할 수 있습니다.
-library-path C:\path\to\your\file.swc
당신은 FDT를 사용하는 경우는 인수로 SWC를 추가 자동차에 옵션이 있습니다 : 당신은 컴파일 할 때
당신이 다음 플렉스 컴파일러를 사용하는 경우이 추가 기억.FDT로 수행하는 방법은 여기 a demo입니다. 어떤 도구를 사용하고 있는지 확실하지 않습니다. 상용 Flex Builder 인 경우 프로세스가 비슷해야합니다.
나는 그것이 당신이 찾고있는 것이라고 생각합니다.
var c:Class = Class(LoaderInfo(e.target).applicationDomain.getDefinition("myClassDefinitionName"));
이이 저장됩니다 : 부지의 여기 좋은 솔루션
자산/아이콘 라이브러리 AS 파일을 만들려고합니다.
package
{
public class IconLibrary
{
/*
* Framework Icons
*/
[Embed (source="../assets/fof_graphics.swf", symbol="clapperboard_icon")]
public static const clapperBoardIcon:Class;
[Embed (source="../assets/fof_graphics.swf", symbol="clapperboard_over_icon")]
public static const clapperBoardOverIcon:Class;
[Embed (source="../assets/fof_graphics.swf", symbol="close_button")]
public static const closeButton:Class;
[Embed (source="../assets/fof_graphics.swf", symbol="close_over")]
public static const closeOverButton:Class;
public function IconLibrary()
{
}
}
}
의 라인을 따라
뭔가 그런 당신이 할 필요가
source="{IconLibrary.clapperBoardIcon}"
하거나 표시하고자하는 자산의 어떤 이름입니다.
, 여기 당신이 런타임에 SWF를로드하고 자산을 추출 할 경우, 당신은 당신의 로더에 다음과 같은 전체 이벤트 리스너를 할 수있는 하나의 애셋을 클래스 객체로 사용하여 다음과 같이 인스턴스를 만들 수 있습니다.
var asset:MovieClip = new c();
+1 - 실제로는 생각하지 않았습니다. 웹 기반 앱의 경우 SWF가 훨씬 커질 수 있지만 선상에 여분의 SWF가 없으면 어떤 경우에는 장점이 될 수 있습니다. 그럼에도 불구하고 환경에 따라 선택의 여지가 있음을 상기시키는 것이 좋습니다. –
감사합니다. 해결책이 아니라 해결책입니다. 애셋이 자주 변경되지 않고 파일 크기가 필수적이지 않은 경우 '예 : 대화 형 앱'에 유용합니다. 변경해야 할 수도있는 파일에 대해 SWC를 사용하는 동시에 런타임 에셋을 사용하는 것이 좋습니다. 우리는 단지 이미지를 바꾸기 위해 모든 것을 다시 컴파일하고 싶지는 않습니다. 그렇죠? :) – ozke
또한 RSL (런타임 공유 라이브러리, 기본적으로 런타임에로드 된 swc)에 대해 컴파일 할 수 있습니다. 그러면 나중에 swc를 업데이트하고 강력한 형식으로 작성할 수 있습니다. –