apache-flex - 弹性 : Impossible to resize the external loaded SWF's content

标签 apache-flex actionscript-3 flash resize swfloader

我有一个尝试加载外部 SWF 的应用程序。所以,我们有:

  • 我的应用程序:舞台的尺寸是 768x1280。 ScaleMode = EXACT_FIT。
  • 外部 SWF:这是另一个应用程序,其阶段为:800x600。 ScaleMode = EXACT_FIT。

  • 问题是外部 SWF 并没有修改它的大小,尽管我应用了“scaleX,scaleY”,改变了它的宽度等等。
    我还尝试将它插入到 Canvas 容器中(如“如何调整外部 SWF 的大小以适应容器?”),但它并没有解决我的问题。
    有趣的代码是当我的应用程序加载外部 SWF 时:
    private function onLoadedApp( evt:Event ):void{ 
         stage.scaleMode = StageScaleMode.EXACT_FIT;    
         trace("Loading Application..");           
         var loaderInfo:LoaderInfo = evt.target as LoaderInfo;    
         loaderInfo.removeEventListener( Event.COMPLETE, onLoadedApp);   
         trace(loaderInfo.loader.content);           
         var swfApplication:SpriteUIComponent = new SpriteUIComponent(evt.target.loader.content );           
         if( SWFContainer.width < swfApplication.explicitWidth ){               
                var coef:Number = SWFContainer.width/swfApplication.explicitWidth;  
                swfApplication.scaleX = coef; 
                swfApplication.scaleY = swfApplication.scaleX;            
          }                
           SWFContainer.addElement(swfApplication);
    }
    

    我也尝试通过 SWFLoader 来做,但是 external.swf 的内容并没有改变它的原始大小,尽管我添加了“scaleContent”参数。

    我得到的视觉结果:

    外部 SWF 被加载到合适的位置,它“似乎”具有 320x240 的暗淡。但它的宽度有点被裁剪,因为如果我拉伸(stretch) Flash Player,我可以看到外部 swf 舞台的其余部分。此外,尽管我缩小/拉伸(stretch)了 Flash Player,但外部 SWF 从未调整大小。它始终保持固定(如果我跟踪它的尺寸,我总是得到 800x600,尽管我在视觉上看到 320x240)- 如果我增加主应用程序的舞台宽度,这个小剪辑就会消失。

    讨论:

    我知道原始 Stage 的尺寸是 800,这比我的应用程序的原始 Stage (768) 大,但我认为,当我调整大小时,必须将外部 SWF 的 Stage 安装在容器中。它已安装,但未看到外部 SWF 的一部分。就像 Flash Player 记得外部 SWF 舞台的宽度大于我的应用程序的宽度......

    提前致谢。

    最佳答案

    即使将 scaleContent 设置为“true”,您仍然需要为 SWFLoader 控件设置精确的高度和宽度,以便它甚至可以尝试调整内部 SWF 的大小。所有 scaleContent 所做的不是以常规或拉伸(stretch)尺寸显示 SWF,它还会在需要时放大 SWF,如果不只是缩放它以保持原始 SWF 的比例。

    关于apache-flex - 弹性 : Impossible to resize the external loaded SWF's content,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5963799/

    相关文章:

    apache-flex - loaderInfo null 在 creationComplete 处理程序函数中

    apache-flex - Flash Builder 4 建议使用 mx1 而不是 mx!为什么?

    apache-flex - 关于将 Flex 与 WCF 和 Linq to Entities 结合使用的建议

    flash - Flash/ActionScript 3 中 is 运算符的性能?

    actionscript-3 - 如何在不同状态下拥有相同的组件 ID(Flex Mobile 项目)

    actionscript-3 - 错误后我应该在 URLLoader 上调用 close() 吗?

    actionscript-3 - node.js 和 ActionScript 通用的序列化格式?

    flash - Box2d As3 contact listener问题

    flash - Web 开发人员应该学习 Flash

    flash - 一旦变成.swf,您如何在Flash中以某种方式显示错误?