2010-11-29 6 views
0

컴파일 타임에 swf에 데이터 (예 : 자산, 비디오, 이미지 ...)를 삽입 할 수 있습니까?컴파일 타임에 swf로 데이터를 주입

우리는 런타임에 독립 실행 형 응용 프로그램 (온 - 오프라인)으로 실행해야하기 때문에 필요한 모든 데이터가 포함 된 swf를 내보낼 수 있어야하는 flex 응용 프로그램을 보유하고 있습니다.

지금까지는 flex 컴파일러를 호출하고 필요한 데이터를 제공하는 서버 측 스크립트를 만드는 것이 아이디어였습니다. 이 접근법은 단일 파일에 대해 [Embed] 태그를 사용하여 정상적으로 작동하는 것처럼 보이지만 내 보낸 swf마다 길이가 다른 데이터 컬렉션을 삽입 할 때 다소 지저분 해집니다.

각 자산에 대해 하나의 임베디드 변수가있는 mxml 파일을 생성하고 컴파일 타임에 포함시킬 수는 있지만 이러한 접근 방식은 이상적인 것으로 보입니다.

우리는 일부 액션 스크립트 바이트 코드 라이브러리를 살펴 봤지만 이것들에는 적합하지 않은 것으로 보입니다.

이런 종류의 문제에 대한 제안이나 다른 접근 방법이 있습니까?

들으,

버트

+0

1) 자산을 실제로 포함해야합니까? 2) 모듈을 사용하여 전체 애플리케이션이 아닌 자산 만 다시 컴파일 할 생각은 해 보셨습니까? – David

답변

3

[Embed] 확실히가는 길입니다. 많은 임베드가있는 AS 파일을 생성 할 수 있습니다. 생성 된 코드가 약간 못 생길 수 있지만 더 좋은 API도 생성 할 수 있습니다.

[Embed(...)] 
private var img_0:Class; 

[Embed(...)] 
private var img_1:Class; 

[Embed(...)] 
private var img_2:Class; 

public var images:Array = [img_0, img_1, img_2]; 

유일한 추함은 코드 생성기가 나타납니다 private 변수에 그 방법 : 당신이 배열을 원하는 경우 예를 들어, 같은 코드를 생성합니다. public 변수는 배열입니다.

0

난 당신이 그렇게해야하는 이유 확실하지 않다하지만 난 그런 템플릿이나 뭔가에서 필요한 액션 스크립트 파일을 생성하려고하고 플렉스를 호출 할 것 같아요 컴파일러. 희망이 도움이됩니다 ...

0

as3swf가 빈 ByteArray에서 SWF 파일을 생성 할 수 있으며, 거기

+0

as3swf는 지금까지 확인한 라이브러리 중 하나이지만 지금까지 제공되는 기능은 제한적으로 보입니다. 결과 swf에서 XML 변수 및 자산 콜렉션을 수정해야합니다. –

0

샘 말했듯이, [삽입]을 일할 수있는 내장 그래픽을 삽입하는 것이 가능 AFAIK
,하지만 당신은로드하려고 시도? 내 첫 번째 반응은 모든 요청에 ​​대해 다시 컴파일하면 서버에 큰 부담이된다는 것입니다.

+0

서버의 부하가 실제로 문제가됩니다. 그 이유는 기존 swf @ runtime을 수정하는 것과 같은 대체 솔루션이 더 좋을 수도 있지만, 무대에서 일부 벡터 그래픽을 그리는 것보다 더 복잡한 시나리오에서이를 수행하는 방법을 찾지 못했습니다 . –

관련 문제