Ciao
Crea un nuovo livello i main.fla ed inserisci il logo.
Trasformalo in MovieClip e gli assegni nome istanza logo_mc.
Main.as diventa così:
In pratica ho creato in Main.as una MovieClip contenitore che ho chiamato container_mc.Code:/* ************************************* * Bluring Slide * http://www.FlepStudio.org * © Author: Filippo Lughi * version 1.0 * info@flepsudio.org ************************************* */ package { import flash.display.MovieClip; import flash.text.TextField; import flash.utils.Timer; import flash.events.Event; import flash.events.TimerEvent; import flash.filters.BlurFilter; import flash.filters.BitmapFilterQuality; public class Main extends MovieClip { private var loading_xml:LoadingXML; private var image_loader:ImageLoader; public static var url_array:Array; public static var descriptions_array:Array; public static var clips_array:Array; private var masks_array:Array; public static var id:int=0; private var timer:Timer; private var mask_mc:MovieClip; private var container_mc:MovieClip; private var blurX:int=0; private var blurY:int=0; public var speed:Number; public function Main() { addEventListener(Event.ADDED_TO_STAGE,init); } private function init(evt:Event):void { stage.frameRate=31; container_mc=new MovieClip(); addChild(container_mc); swapChildren(logo_mc,container_mc); url_array=new Array(); descriptions_array=new Array(); clips_array=new Array(); masks_array=new Array(); loading_xml=new LoadingXML(this); } public function loadImages():void { if(id<url_array.length) image_loader=new ImageLoader(this,id); else { removeChild(info_txt); id=0; go(); } } private function initTimer():void { trace(speed); timer=new Timer(speed,1); timer.addEventListener(TimerEvent.TIMER,getBlur); timer.start(); } private function go():void { var description:MovieClip=new Description(); clips_array[id].addChild(description); container_mc.addChild(clips_array[id]); clips_array[id].mask=getMask(); description.x=stage.stageWidth/2; description.y=stage.stageHeight/2; description.des_txt.text=descriptions_array[id]; openMask(); } private function getMask():MovieClip { mask_mc=new MovieClip(); mask_mc.graphics.beginFill(0xFF3366,1); mask_mc.graphics.drawRect(-.5,-.5,1,1); mask_mc.x=stage.stageWidth/2; mask_mc.y=stage.stageHeight/2; container_mc.addChild(mask_mc); masks_array.push(mask_mc); return mask_mc; } private function openMask():void { mask_mc.addEventListener(Event.ENTER_FRAME,openX); } private function openX(evt:Event):void { var arrX:Number=clips_array[id].width/2; var dx:Number=arrX-evt.target.width; var ax:Number=dx*.3; evt.target.width+=ax; if(Math.abs(dx)<=.2) { mask_mc.removeEventListener(Event.ENTER_FRAME,openX); evt.target.width=arrX; mask_mc.addEventListener(Event.ENTER_FRAME,openY); } } private function openY(evt:Event):void { var arrY:Number=clips_array[id].height/2; var dy:Number=arrY-evt.target.height; var ay:Number=dy*.2; evt.target.height+=ay; if(Math.abs(dy)<=.3) { mask_mc.removeEventListener(Event.ENTER_FRAME,openY); evt.target.height=arrY; mask_mc.addEventListener(Event.ENTER_FRAME,reOpenX); } } private function reOpenX(evt:Event):void { var arrX:Number=clips_array[id].width; var dx:Number=arrX-evt.target.width; var ax:Number=dx*.3; evt.target.width+=ax; if(Math.abs(dx)<=.2) { mask_mc.removeEventListener(Event.ENTER_FRAME,reOpenX); evt.target.width=arrX; mask_mc.addEventListener(Event.ENTER_FRAME,reOpenY); } } private function reOpenY(evt:Event):void { var arrY:Number=clips_array[id].height; var dy:Number=arrY-evt.target.height; var ay:Number=dy*.3; evt.target.height+=ay; if(Math.abs(dy)<=.2) { mask_mc.removeEventListener(Event.ENTER_FRAME,reOpenY); evt.target.height=arrY; initTimer(); } } private function getBlur(evt:TimerEvent):void { clips_array[id].addEventListener(Event.ENTER_FRAME,goBlur); timer.reset(); } private function goBlur(evt:Event):void { var filters_array:Array=new Array(); var blur:BlurFilter=new BlurFilter(blurX,blurY,BitmapFilterQuality.HIGH); filters_array.push(blur); evt.target.filters=filters_array; blurX++; blurY++; if(blurX>=31) { evt.target.removeEventListener(Event.ENTER_FRAME,goBlur); blurX=0; blurY=0; id++; if(id==clips_array.length) { for(var i:int=0;i<clips_array.length;i++) { clips_array[i].filters=[]; clips_array[i].mask=null; container_mc.removeChild(clips_array[i]); container_mc.removeChild(masks_array[i]); } masks_array=new Array(); id=0; } go(); } } } }
Adesso tutte le MovieClip che vengono create contenenti le immagini e tutte le maschere vengono inserite dentro a container_mc e lo stage esegue uno swapChildren tra container_mc e logo_mc.



LinkBack URL
About LinkBacks

Reply With Quote


Bookmarks