再编写actionscript中,有时候会产生多个swf文件。但有多个swf的时候,我们就需要他们之间的通讯了。能返回值并且相互之间能空值等.这个其实actionscript用Function函数式就可以了.
如下:
test.as中的Login()
var loader:Loader; //加载swf
//初始化函数
public function test()
{
loader=new Loader();
loader.load(new URLRequest("line.swf"));
loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,progressHandler);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,completeHandler);
addChild(loader);
}
//显示加载处理字节
private function progressHandler(event:ProgressEvent):void {
trace("加载: "+event.bytesLoaded+"字节");
trace("文件大小: "+event.bytesTotal+"字节");
}
//显示完成的字节数
private function completeHandler(event:Event):void {
MovieClip(loader.content).Hello();
MovieClip(loader.content).backHello(callback);
}
//获得返回数据
public function callback(success:Object):void
{
if(success =="true")
{
trace("返回数据,Ok.....");
}
}
一面是test下面就是line.cs了
var lineBack:Function;
public function line()
{
}
//Hello方法
public function Hello()
{
trace("hello!!");
}
//返回数据
public function backHello(callback:Function):void
{
lineBack=callback;
lineBack("true"); //返回数据
}
ActionScript中的Function与function区别:
ActionScript 中用户定义的函数和内置函数都由 Function 对象来表示,该对象是 Function 类的实例。
类的方法与 Function 对象略有不同。 与普通函数对象不同,方法和与其关联的类对象紧密关联。 因此,方法或属性具有在同一类的所有实例中共享的定义。 可以从实例提取方法并将其处理为“绑定”方法(保留与原始实例的链接)。 对于绑定方法,this
关键字指向实现该方法的原始对象。 对于函数,this
在调用函数时指向关联对象。
说白了Function就是一个类,就想Integer、String一样,是一个Object,可以有独立的属性甚至方法
function就是函数