2009-07-17 5 views
0

먼저 문제를 제시하겠습니다. 내 프로젝트에서 사용한 이미지를 모두 외부에로드해야합니다. 이미지는 스킨이나 나무에있는 항목의 아이콘으로 표시됩니다. IconUtility 클래스를 발견했습니다 here 수정하여 나무에 사용할 수는 있지만 문제는 두 개의 다른 스킨을 설정하는 동일한 구성 요소에 iconutility를 사용할 수 없다는 것입니다. 나는 iconutility로 해결 방법을 생각할 수 없었다. 임베드를 시뮬레이트하고 클래스를 동적으로 생성하고 런타임에 클래스를 반환 할 수 있습니까?actionscript에서 클래스를 동적으로 생성

+0

게시물을 업데이트 ... greetz 피드백에 대한 – back2dos

답변

0

이 일을 수행 할 수있는 가장 간단한 일입니다 버튼 스킨을 사용 할 수 없습니다 내가 무엇 ... 불행하게도 저자의 주장 찾고이었다 ... (로드 된 SWF의 응용 프로그램 도메인에서 예) 거기에서 클래스를 꺼내 다음을로드

여러 솔루션은에있다 :

  • 하드 코어 버전은 ByteArray에 그 이미지를로드하는 것입니다 사용 URLLoader를 만들고 SWF 파일이 될 새 ByteArray을 만들고 임베디드 애셋과 클래스와 연결하는 데 필요한 지침을 포함하면 ... 스파크를보고 싶을 수도 있습니다 ... swfassist ...
  • 조금 (당신은 한 번만 수행 이후) 더 간단하고 성능이 좋은는, 여기 당신이
    • 단순히 flex compiler
    • 사용
    • 는 SWF를 조작하기위한 몇 가지 라이브러리를 사용 swfmill 사용할 수 있습니다 ... 서버에서 그렇게하는 것입니다 like ming
    • 하하하세요. 차 ...하는 데 도움이 :

희망

편집 : 두 번째 솔루션은 자신을 서버에 자산을 만들기에 적합한 도구를 사용하여 ... 또는 도구를 코딩에 관한, 하지만 그건 농담 이었어 ... :) ... 플렉스 컴파일러에 대한 링크가 잘못되었다는 것을 깨달았습니다 ... 웹 서버에 플러그를 꽂은 다음 ActionScript로 컴파일해야한다는 아이디어가있었습니다. 그러면 embed가 실행됩니다. 따라서 다음과 같이 하나의 ActionScript 파일을 생성합니다 :

package { 
    import flash.display.Sprite; 
    import flash.utils.describeType; 
    public class Assets extends Sprite { 
     [Embed(source='asset_1_Location')] 
     public static var asset_1:Class; 
     [Embed(source='asset_2_Location')] 
     public static var asset_2:Class; 
     ... 
     [Embed(source='asset_n_Location')] 
     public static var asset_n:Class;  
     public function Assets() { } 
     public static function getAll():Object { 
      var ret:Object = { }; 
      for each (var x:XML in describeType(Assets).variable.(@type=="Class")) { 
       var name:String = [email protected]; 
       ret[name] = Assets[name]; 
      } 
      return ret; 
     } 
    } 
} 

그러면 flex 컴파일러가 컴파일됩니다.로드되면 LoaderInfo :: applicationDomain.getDefinition ("Assets"). getAll()을 사용하여 데이터를 추출하여 필요한 모든 클래스가 포함 된 키 - 값지도를 제공합니다. .. 다른 도구와

, 그것은 다르게 작동,하지만 난 당신이 당신을 위해 이러한 자산 SWF를 구축하는 서비스를 필요 ... 작동 방법,이 명확 서버

희망, 캐시하여 ... 그래서 당신이 필요로하는 파일/이미지의 JSON 배열과 같은 POST 요청을 보내면 swf를 돌려 줄 것입니다 ... 서버가 물론 적절한 캐싱을해야합니다 ...

희망, 이제 도움이 ...:)

greetz

back2dos

+0

감사합니다. 첫 번째 솔루션은 정말 하드 코어이며 두 번째 솔루션을 이해할 수 없습니다. 자세히 설명해 주시겠습니까? – dante

0

This은 그가 당신의 자산을 포함하는 하나/여러 SWF를 만들 수