0

我有一个加载外部 swf 文件的 flex 应用程序。我使用 flash cs4 创建了外部 swf 文件,因此如果需要的话,我可以向其中添加代码。

这是我用来加载外部 swf 的代码:

//add button swf
var request:URLRequest = new URLRequest("http://www.yadayada.com/media/but_button.swf");
var loader3:Loader = new Loader();
loader3.load(request);
addChild(loader3);
//position the ZoomControls

loader3.y = 0;
loader3.x = 0;

我可以让我的外部 swf 将点击事件发送到我的 flex 应用程序吗?如何?

4

1 回答 1

0

是的,你可以做到。

function loadExternal():void {
  loader3.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
  loader3.load(request);
  addChild(loader3);
}

function onComplete(e:Event):void { var mc:MovieClip = MovieClip(e.target.content); mc.addEventListener(SomeEvent.EVENT_TYPE, onSomeEvent); mc.someExternalFunction(); //external function too can be called }

您需要以某种方式制作外部 SWF,以便它允许跨脚本。所以你需要把Security.allowDomain("*"); // will make it's functions available to any swf loaded from any domain外部swf放在里面。

于 2009-12-21T06:57:21.193 回答