1
ローカルSWFファイルを読み込み、そのSWF内のクラスを使用しようとしています(コードのみのSWF、ライブラリ内には何もありません)。ここでFlash - 別の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を使用しています。私が間違っていることを誰でも指摘できますか?