먼저 문제를 제시하겠습니다. 내 프로젝트에서 사용한 이미지를 모두 외부에로드해야합니다. 이미지는 스킨이나 나무에있는 항목의 아이콘으로 표시됩니다. IconUtility 클래스를 발견했습니다 here 수정하여 나무에 사용할 수는 있지만 문제는 두 개의 다른 스킨을 설정하는 동일한 구성 요소에 iconutility를 사용할 수 없다는 것입니다. 나는 iconutility로 해결 방법을 생각할 수 없었다. 임베드를 시뮬레이트하고 클래스를 동적으로 생성하고 런타임에 클래스를 반환 할 수 있습니까?actionscript에서 클래스를 동적으로 생성
답변
이 일을 수행 할 수있는 가장 간단한 일입니다 버튼 스킨을 사용 할 수 없습니다 내가 무엇 ... 불행하게도 저자의 주장 찾고이었다 ... (로드 된 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
감사합니다. 첫 번째 솔루션은 정말 하드 코어이며 두 번째 솔루션을 이해할 수 없습니다. 자세히 설명해 주시겠습니까? – dante
This은 그가 당신의 자산을 포함하는 하나/여러 SWF를 만들 수
게시물을 업데이트 ... greetz 피드백에 대한 – back2dos