加载.swf文件并调用它的静态函数

时间:2019-11-19 10:46:13

标签: class actionscript-3 flash adobe swfobject

我是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();
};

这是我的第二个swfone.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

0 个答案:

没有答案