swf超出舞台的部分不想显示出来的解决方法

最近做的项目中,考虑到有用户提交的swf中可能会存在一些不在舞台以内的东西,比如说有一个太阳东升西落的效果,一开始太阳是在舞台以外的,到了某帧才移动到舞台内的,但用户只希望看到舞台内的东西,不希望看到舞台外的东西。

我们使用loader来加载swf,加载完之后,可以使用loader.scrollRect属性来使在该swf中舞台之外的东西显示为透明的,为了防止用户加载的东西可能是老版本的swf(flash cs3 以前的版本做出来的swf,加载进来loader.content 是AVM1Movie类型,现在的常见的flash cs3,c4,cs6等都是MovieClip),我们使用loader来显示该swf,这样不管是新的还是老的都可以正常显示出来。

下面上代码

                    private var _swfUrl:String="assets/243373236374442.swf";

                   private var _urlRequest:URLRequest;
   private var _loader:Loader;


                  _urlRequest=new URLRequest(_swfUrl);
 _loader=new Loader;

_loader.contentLoaderInfo.addEventListener(Event.COMPLETE,loadSuccessHandler);
_loader.load(_urlRequest);    


                 private function loadSuccessHandler(event:Event):void { var swfStageW:int=_loader.contentLoaderInfo.width; var swfStageH:int=_loader.contentLoaderInfo.height; var loaderW:int=_loader.width; var loaderH:int=_loader.height; var contentW:int=_loader.content.width; var contentH:int=_loader.content.height; trace(swfStageW,swfStageH); trace(loaderW,loaderH); trace(contentW,contentH); _loader.scrollRect=new Rectangle(0,swfStageW,swfStageH); this.addChild(_loader); trace(_loader.width); _loader.x=100; _loader.y=100; }

相关文章

  译序:JWMediaPlayer是开源的网页使用的Flash播放器。本...
    Flash编程原理都是只能将1写为0,而不能将0写成1.所...
 上传setenvgatewayip192.168.1.1;setenvserverip192.168.1...
Error:FlashDownloadFailed-"Cortex-M3"出现一般有...
jPlayer是一个用于控制和播放mp3文件的jQuery插件。它在后台...
#ifndef__FONTUPD_H__#define__FONTUPD_H__#include"sy...