1
로컬 SWF 파일을로드하고 해당 SWF의 클래스 (코드 전용 SWF, 라이브러리에없는 클래스)를 사용하려고합니다. 여기 플래시 - 다른 SWF의 클래스에 액세스 할 수 없습니다.
var AD:ApplicationDomain = ApplicationDomain.currentDomain;
var context:LoaderContext = new LoaderContext(false, AD);
SA_gamecore_loader = new Loader();
SA_gamecore_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onGameCoreLibraryDataComplete);
SA_gamecore_loader.load(new URLRequest("GameCore.swf"), context);
이 GameCore.swf에서 클래스의 인스턴스를 시도하는 코드이다 : 여기
라이브러리로드 코드의
var test:Class = GetClassFromDefinition("MenuArt") as Class;
var testInstance:Object = new test();
public function GetClassFromDefinition(theStr:String):Object
{
var theClass:Object;
try
{
theClass = GameCoreLibraryData.applicationDomain.getDefinition(theStr);
}
catch(e:ReferenceError)
{
trace(e);
return null;
}
return theClass;
}
을 그리고 이것은 추적 년대 메시지입니다 :
ReferenceError : 오류 # 1065 : 변수 MenuArt가 정의되지 않았습니다.
GameCore.swf는 부모 SWF와 동일한 위치에 있습니다. 그게 도움이된다면 Flash Develop을 사용하고 있습니다. 내가 잘못한 것을 지적 할 수있는 사람은 누구입니까?