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; ? ? ? ? ? ? ? ? ? _urlRequest=new URLRequest(_swfUrl); ? ? ? ? ? ? ? ? ?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; } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |