0

我正在尝试在我的 flex 应用程序中显示远程 swf,我能够加载 swf,但在我的 flex 应用程序中没有显示(可见)。

这是代码

private function onLoaderComplete(event:Event):void{
            can.addChild(l);
        }


            import flash.system.SecurityDomain;
            import flash.system.ApplicationDomain;
                             var l:Loader = new Loader();

            private function initApp():void {  
            var context:LoaderContext = new LoaderContext();

            l.contentLoaderInfo.addEventListener(Event.COMPLETE, onLoaderComplete);
            if(Security.sandboxType == Security.REMOTE){
                var context:LoaderContext = new LoaderContext();
                context.securityDomain = SecurityDomain.currentDomain;
                l.load(new URLRequest('www.somedomain.com/load.swf?id1'), context);
            }else{
                l.load(new URLRequest('www.somedomain.com/load.swf?id=1'));
            }

private function onLoaderComplete(event:Event):void{
            can.addChild(l);
        }


<mx:Canvas width="100%" height="50%" backgroundColor="red">
    <mx:UIComponent id="can" width="100%" height="100%" >

    </mx:UIComponent>
</mx:Canvas>

任何想法

谢谢大家

4

1 回答 1

0

您的代码段未定义“L”是什么

您当前代码遇到的最可能的问题是,您将“l”添加到 UIComponent 上,该 UIComponent 没有用于调整和定位其子级的内置代码,因此您的“l”将没有高度和宽度,有效使其不可见。

我会使用SWFLoader加载另一个 SWF 文件并将其显示为应用程序的一部分。

于 2013-02-23T15:12:26.007 回答