Flash Gallery | Flash Templates | Flash Menu | Flash Design | Flash Audio & Video

Video Corsi Actionscript 3.0


+ Reply to Thread
Results 1 to 9 of 9

Thread: Blurin slide

  1. #1
    Junior Member Settled In lievito is on a distinguished road
    Join Date
    Nov 2007
    Posts
    8
    Rep Power
    0

    Blurin slide

    flash templates
    Eccomi...e intanto Buon Natale a tutti;
    volevo chiedervi: se devo mettere un logo fisso e sotto avere le immagini con l'effetto come posso procedere?
    E po se devo aumentare la misura dell'area di lavoro, ok per le foto, ma l'effetto non copre tutta l'area
    infinitamente grazie

  2. #2
    Administrator Living At The FlepStudio! Flep is on a distinguished road
    Join Date
    Jul 2007
    Posts
    5,609
    Rep Power
    9

    Re: Blurin slide

    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ì:
    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();
    			}
    		}
    	}
    }
    In pratica ho creato in Main.as una MovieClip contenitore che ho chiamato container_mc.
    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.

  3. #3
    Junior Member Settled In lievito is on a distinguished road
    Join Date
    Nov 2007
    Posts
    8
    Rep Power
    0

    Riferimento: Blurin slide

    Ciao Flep , grazie per la risposta.
    Credo manchi un'ultima parentesi di chiusura e poi dopo la visualizzazione della prima foto dà questo errore:
    RangeError: Error #2066: Il ritardo specificato per il timer è fuori intervallo.
    at Error$/throwError()
    at flash.utils::Timer$iinit()
    at Main/::initTimer()
    at Main/::reOpenY()

  4. #4
    Administrator Living At The FlepStudio! Flep is on a distinguished road
    Join Date
    Jul 2007
    Posts
    5,609
    Rep Power
    9

    Re: Blurin slide

    Le parentesi sono ok.

    A me non lo da l' errore... che velocità di timer usi ?

  5. #5
    Junior Member Settled In lievito is on a distinguished road
    Join Date
    Nov 2007
    Posts
    8
    Rep Power
    0

    Riferimento: Blurin slide

    Scusa l'ignoranza, non ho cambiato nulla dei tuoi file, dove la controllo la velocità

  6. #6
    Administrator Living At The FlepStudio! Flep is on a distinguished road
    Join Date
    Jul 2007
    Posts
    5,609
    Rep Power
    9

    Re: Blurin slide

    Allora se non hai cambiato nulla deve girare per forza, a me non da nessun tipo di errore.
    Ti allego l' esempio con il logo.
    Attached Files

  7. #7
    Junior Member Settled In lievito is on a distinguished road
    Join Date
    Nov 2007
    Posts
    8
    Rep Power
    0

    Riferimento: Blurin slide

    OTTIMO,funziona grazie ma ti assicuro che non avevo cambiato nulla, mha!!!
    Buon Natale

  8. #8
    Member Settled In jacu85 is on a distinguished road
    Join Date
    Dec 2007
    Posts
    43
    Rep Power
    0

    Re: Blurin slide

    ciao sto studiano come poter fare una gallery di immagini da qua, ci sono due cose che non riesco a capire nel codice:

    nel file LoadingXML.as

    public function LoadingXML(fla:MovieClip)
    {
    _fla=fla;
    loadXML();
    }

    quando viene dichiarata fla:MovieClip cosa accade? dichiara semplicemente che la variabile fla è un istanza della classe MovieClip? e come mai proprio fra le parentesi della funzione?

    verso la fine dello stesso file si trova anche questo
    _fla.loadImages(); che ritrovo anche in ImageLoader.as che è una funzione che si trova in Main.as quest'ultima richiama la funzione o cosa?

  9. #9
    Administrator Living At The FlepStudio! Flep is on a distinguished road
    Join Date
    Jul 2007
    Posts
    5,609
    Rep Power
    9

    Re: Blurin slide

    Ciao

    Passo il valore di Main alla classe LoadingXML in modo che quando quest'ultima ha finito di caricare il file XML possa richiamare un metodo appunto in Main.as .

+ Reply to Thread

Similar Threads

  1. Slide color
    By Marcello Kabora in forum Actionscript 3.0 avanzato
    Replies: 5
    Last Post: 08-04-10, 15:18
  2. Bluring Slide
    By Flep in forum FlepStudio utilities
    Replies: 6
    Last Post: 29-06-09, 02:24
  3. Bluring Slide
    By Flep in forum Utilità di FlepStudio
    Replies: 43
    Last Post: 01-04-09, 13:11
  4. slide image
    By duca86 in forum Flash CS3 Design
    Replies: 2
    Last Post: 11-04-08, 12:29
  5. Bluring Slide
    By alexbor1979 in forum AIUTO utilità free
    Replies: 28
    Last Post: 03-03-08, 14:18

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts