ローカルの 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 開発を使用しています。私が間違っていることを指摘できる人はいますか?