我是Actionscript的新手,目前正尝试从另一个.swf
加载.swf
文件,它是静态函数。
这是我的第一个swf
(是AIR应用程序):
import flash.display.Loader;
import flash.events.Event;
import flash.net.URLRequest;
import flash.system.ApplicationDomain;
import flash.system.LoaderContext;
var _loader:Loader = new Loader();
var _urlRequest:URLRequest = new URLRequest("one.swf");
var _context:LoaderContext = new LoaderContext();
var _loc1_:ApplicationDomain = new ApplicationDomain();
_context.applicationDomain = _loc1_;
_context.allowCodeImport = true;
_loader.load(_urlRequest,_context);
_loader.contentLoaderInfo.addEventListener(Event.COMPLETE,LoadContentTWO);
function LoadContentTWO(e:Event)
{
var secondswf:one = _loader.content as one;
//trace("Loaded!!!!") ;
//trace(_loader.content);
//var Content:one = _loader.content as one;
//var pContent:Object = Content as Object;
//addChild(Content);
//Content.sayHello();
};
这是我的第二个swf
(one.as
):
package
{
import flash.display.Sprite;
public class one extends Sprite
{
public static function sayHello():void
{
trace("Hello World");
}
}
}
我正在使用以下命令编译第二个swf
文件:
mxmlc.exe -static-link-runtime-shared-libraries=true one.as
所以我要做的是加载第二个.swf
并调用它的静态函数。您可以从picture看到_loader.content
具有类值one
。在执行此行之后
var secondswf:one = _loader.content as one;
secondswf
变量中包含null
。我不知道为什么。我要做的是加载此类并调用其静态函数sayHello
。