Actionscript 3 如何通过事件将数据从swf1传递到swf2,后者加载前者
我有一个swf(Swf1)来发送CustomEvent Swf1: dispatchEvent(新的CustomEvent(“eventName”,obj))//自定义事件是用Swf1编写的,允许在分派时附加数据。//请告诉我们是否有其他方法可以使用内置的AS3API实现这一点 现在Swf2:(加载Swf1) 添加的侦听器 onswf1loadComplete函数(e:事件){ _movie=MovieClip(如target.content); _addEventListener(“eventName”,callrequiredFunction); //如何在这里获得obj? }Actionscript 3 如何通过事件将数据从swf1传递到swf2,后者加载前者,actionscript-3,events,flash,movieclip,Actionscript 3,Events,Flash,Movieclip,我有一个swf(Swf1)来发送CustomEvent Swf1: dispatchEvent(新的CustomEvent(“eventName”,obj))//自定义事件是用Swf1编写的,允许在分派时附加数据。//请告诉我们是否有其他方法可以使用内置的AS3API实现这一点 现在Swf2:(加载Swf1) 添加的侦听器 onswf1loadComplete函数(e:事件){ _movie=MovieClip(如target.content); _addEventListener(“event
(除了我还需要在Swf2中定义CustomEvent)您可以将SWF的加载外部化到另一个类,该类将处理两个SWF之间的通信
private var swf1:MovieClip;
private var swf2:MovieClip;
private function loadSWF(url:String):void
{
//loading swf code
}
private function init():void
{
loadSWF( swf2URL );
}
private function completeHandler (event:Event ):void
{
switch( event.currentTarget.name)
{
case 'swf1':
swf1 = new Whatever();
//swf1.addEventistener( CustomEvent.SWF1 , swfEventListener );
swf1.addEventistener( Event.COMPLETE , completeEventListener );
swf1.init();
break;
case 'swf2':
loadSWF( swf1URL );
break;
}
}
private function completeEventListener( event: Event):void
{
//where result is a getter on the Whatever class
var object:Object = swf1.result;
}
private function swfEventListener( event: CustomEvent):void
{
if( event.type == CustomEvent.SWF1 )
var object:Object = event.object;
}
是的,为此我也需要在这里定义CustomEvent?不一定,检查编辑的代码。。。这实际上取决于您的代码结构,尽管您对CustomEvent的依赖性较小