【问题标题】:external swf control flex application?外部 swf 控制 flex 应用程序?
【发布时间】:2009-12-21 05:13:41
【问题描述】:

我有一个加载外部 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 应用程序吗?怎么样?

【问题讨论】:

    标签: apache-flex flash actionscript-3 flex4 swfloader


    【解决方案1】:

    是的,你可以做到。

    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里面。

    【讨论】:

    • 太棒了!我得到了要加载的按钮 swf;但是,然后我遇到了让我的电影剪辑相互重叠并搞砸我的 hitAreas 的问题。花了一整天的时间,学习了如何指定 hitArea 属性以及非常绘制!复杂的形状。喜欢这种语言,但我有一个截止日期,我仍然无法弄清楚如何处理单例类或将事件发送到其他 .as 文件。再次感谢!!!
    • 我没有收到您的问题。你能详细说明一下吗?
    • 现在我正在尝试加载一个 xml 文件,但它给了我安全沙箱违规行为。我该如何克服这些?
    猜你喜欢
    • 1970-01-01
    • 2014-04-21
    • 2017-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-28
    相关资源
    最近更新 更多