2014-12-03 3 views
0

AS2/3에서 클래스를 동적으로 확장 할 수 있는지 알고 싶습니다. 같은
뭔가 :AS2/3에서 동적으로 확장 할 수 있습니까?

public class Main extends getDefinitionByName("com.parent") as Class{...} 

는이 코드가 잘못된 것을 알고 있지만, 단지 내가 필요로하는 무슨을 보여. 어쩌면 프로토 타입일까요? AS2에

+2

당신이 시나리오를 설명시겠습니까 어디에서 유용할까요? 당신은 당신의 수업에서 모든 정적 타이핑을 잃을 것입니다. – Marty

+0

많은 swf 파일로 프로젝트가 분할되어 있고 프로젝트 크기를 늘리지 않고 공유 라이브러리를 사용하려는 경우 – user2054758

+0

파일간에 자산을 공유하려는 경우 [런타임 공유 라이브러리] (http : /stackoverflow.com/questions/2070244/runtime-shared-libraries). – blvz

답변

0

, 그것은 쉽게 :

AS3를 들어
trace("creating mc0"); 
this.attachMovie("libraryItemLinkage", "mc0", 0); 

MovieClipPlus = function(){ 
    trace("hello world."); 
}; 
MovieClipPlus.prototype = new MovieClip(); 
Object.registerClass("libraryItemLinkage", MovieClipPlus); 

trace("creating mc1"); 
this.attachMovie("libraryItemLinkage", "mc1", 1); 

, 그것은 그렇게 간단하지 않습니다. 사실, 너무 복잡하여 (느린), 시도하고있는 것을 성취하기위한 또 다른 방법을 생각하는 것이 더 쉽습니다.

아직 시간과 에너지를 얻었 으면 flash.utils.Proxy 클래스를 살펴보면 몇 가지 새로운 아이디어를 얻을 수 있습니다.

또한

, 다음을 확인하십시오

소개를 프록시에 :
http://ltslashgt.com/2008/01/24/proxy-class-as3/

동적 프록시 생성을, AS3의 공유지 바이트 코드로 :
http://www.as3commons.org/as3-commons-bytecode/proxy.html

+0

, "MovieClip"은 외부 클래스입니다. 물론 getDefinitionByName ("MovieClip")을 사용하여로드 할 수 있지만 "MovieClip"에 정적 필드가 있으면 어떻게됩니까? – user2054758

관련 문제