我正在尝试加载本地 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。谁能指出我做错了什么?